From ac951f406977f528e67983298118067956ee80ac Mon Sep 17 00:00:00 2001 From: LY Date: Sat, 21 Sep 2019 17:27:36 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=96=B0=E5=A2=9E=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E5=8D=A1=E9=A1=BF=E6=A3=80=E6=B5=8B=E5=BC=80=E5=85=B3?= =?UTF-8?q?=E7=8A=B6=E6=80=81=EF=BC=8C=E9=98=B2=E6=AD=A2=E9=87=8D=E5=90=AF?= =?UTF-8?q?=20App=20=E5=90=8E=E5=8D=A1=E9=A1=BF=E6=A3=80=E6=B5=8B=E6=97=A0?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Src/Core/Cache/DoraemonCacheManager.h | 4 ++++ .../Src/Core/Cache/DoraemonCacheManager.m | 10 ++++++++++ .../Core/Plugin/ANR/Function/DoraemonANRManager.m | 13 +++++++++++++ 3 files changed, 27 insertions(+) diff --git a/iOS/DoraemonKit/Src/Core/Cache/DoraemonCacheManager.h b/iOS/DoraemonKit/Src/Core/Cache/DoraemonCacheManager.h index aa45c52e..4c0c8aed 100644 --- a/iOS/DoraemonKit/Src/Core/Cache/DoraemonCacheManager.h +++ b/iOS/DoraemonKit/Src/Core/Cache/DoraemonCacheManager.h @@ -64,6 +64,10 @@ - (BOOL)startTimeSwitch; +- (void)saveANRTrackSwitch:(BOOL)on; + +- (BOOL)anrTrackSwitch; + /// 历史记录 - (NSArray *)h5historicalRecord; - (void)saveH5historicalRecordWithText:(NSString *)text; diff --git a/iOS/DoraemonKit/Src/Core/Cache/DoraemonCacheManager.m b/iOS/DoraemonKit/Src/Core/Cache/DoraemonCacheManager.m index 08970fc1..473b4692 100644 --- a/iOS/DoraemonKit/Src/Core/Cache/DoraemonCacheManager.m +++ b/iOS/DoraemonKit/Src/Core/Cache/DoraemonCacheManager.m @@ -22,6 +22,7 @@ static NSString * const kDoraemonLargeImageDetectionKey = @"doraemon_large_image static NSString * const kDoraemonH5historicalRecord = @"doraemon_historical_record"; static NSString * const kDoraemonStartTimeKey = @"doraemon_start_time_key"; static NSString * const kDoraemonStartClassKey = @"doraemon_start_class_key"; +static NSString * const kDoraemonANRTrackKey = @"doraemon_anr_track_key"; @interface DoraemonCacheManager() @@ -183,6 +184,15 @@ static NSString * const kDoraemonStartClassKey = @"doraemon_start_class_key"; return [_defaults boolForKey:kDoraemonStartTimeKey]; } +- (void)saveANRTrackSwitch:(BOOL)on { + [_defaults setBool:on forKey:kDoraemonANRTrackKey]; + [_defaults synchronize]; +} + +- (BOOL)anrTrackSwitch { + return [_defaults boolForKey:kDoraemonANRTrackKey]; +} + - (NSArray *)h5historicalRecord { return [_defaults objectForKey:kDoraemonH5historicalRecord]; } diff --git a/iOS/DoraemonKit/Src/Core/Plugin/ANR/Function/DoraemonANRManager.m b/iOS/DoraemonKit/Src/Core/Plugin/ANR/Function/DoraemonANRManager.m index 07ba3dde..4606ae80 100644 --- a/iOS/DoraemonKit/Src/Core/Plugin/ANR/Function/DoraemonANRManager.m +++ b/iOS/DoraemonKit/Src/Core/Plugin/ANR/Function/DoraemonANRManager.m @@ -6,6 +6,7 @@ // #import "DoraemonANRManager.h" +#import "DoraemonCacheManager.h" #import "DoraemonANRTracker.h" #import "DoraemonMemoryUtil.h" #import "DoraemonAppInfoUtil.h" @@ -39,6 +40,12 @@ static int64_t const kDoraemonBlockMonitorTimeInterval = 1.; if (self) { _doraemonANRTracker = [[DoraemonANRTracker alloc] init]; _timeOut = kDoraemonBlockMonitorTimeInterval; + _anrTrackOn = [DoraemonCacheManager sharedInstance].anrTrackSwitch; + if (_anrTrackOn) { + [self start]; + } else { + [self stop]; + } } return self; @@ -77,4 +84,10 @@ static int64_t const kDoraemonBlockMonitorTimeInterval = 1.; - (void)stop { [self.doraemonANRTracker stop]; } + +- (void)setAnrTrackOn:(BOOL)anrTrackOn { + _anrTrackOn = anrTrackOn; + [[DoraemonCacheManager sharedInstance] saveANRTrackSwitch:anrTrackOn]; +} + @end -- GitLab