Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
f29c64a0
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
11 个月 前同步成功
通知
166
Star
19623
Fork
3062
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DoraemonKit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f29c64a0
编写于
3月 31, 2020
作者:
Y
yixiangboy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
解决VCProfiler在某一些情况下会死锁crash的问题 iss416,先加一个黑名单规避掉
上级
d59536f4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
21 addition
and
6 deletion
+21
-6
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.h
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.h
+2
-0
iOS/DoraemonKit/Src/Core/Plugin/Performance/VCProfiler/UIViewController+DoraemonVCProfiler.m
...formance/VCProfiler/UIViewController+DoraemonVCProfiler.m
+13
-0
iOS/DoraemonKitDemo/Podfile.lock
iOS/DoraemonKitDemo/Podfile.lock
+6
-6
未找到文件。
iOS/DoraemonKit/Src/Core/Manager/DoraemonManager.h
浏览文件 @
f29c64a0
...
...
@@ -152,5 +152,7 @@ typedef NS_ENUM(NSUInteger, DoraemonManagerPluginType) {
@property
(
nonatomic
,
copy
)
NSString
*
startClass
;
//如果你的启动代理不是默认的AppDelegate,需要传入才能获取正确的启动时间
@property
(
nonatomic
,
copy
)
NSArray
*
vcProfilerBlackList
;
//使用vcProfiler的使用,兼容一些异常情况,比如issue416
@end
NS_ASSUME_NONNULL_END
iOS/DoraemonKit/Src/Core/Plugin/Performance/VCProfiler/UIViewController+DoraemonVCProfiler.m
浏览文件 @
f29c64a0
...
...
@@ -11,6 +11,7 @@
#import <objc/runtime.h>
#import "DoraemonHealthManager.h"
#import "DoraemonCacheManager.h"
#import "DoraemonManager.h"
//#define Doraemon_VC_Profiler_LOG_ENABLE
...
...
@@ -158,7 +159,19 @@ static void doraemon_vc_profiler_viewDidDisappear(UIViewController *kvo_self, SE
return
self
;
}
// 黑名单用户不会触发KVO监控
-
(
BOOL
)
blackList
:(
NSString
*
)
className
{
NSArray
*
blackList
=
[
DoraemonManager
shareInstance
].
vcProfilerBlackList
;
if
(
blackList
&&
blackList
.
count
>
0
&&
[
blackList
containsObject
:
className
])
{
return
YES
;
}
return
NO
;
}
-
(
void
)
createAndHookKVOClass
{
if
([
self
blackList
:
NSStringFromClass
(
self
.
class
)])
{
return
;
}
[
self
addObserver
:[
DoraemonFakeKVOObserver
shared
]
forKeyPath
:
kUniqueFakeKeyPath
options
:
NSKeyValueObservingOptionNew
context
:
nil
];
DoraemonFakeKVORemover
*
remover
=
[[
DoraemonFakeKVORemover
alloc
]
init
];
...
...
iOS/DoraemonKitDemo/Podfile.lock
浏览文件 @
f29c64a0
...
...
@@ -23,16 +23,16 @@ PODS:
- CocoaLumberjack (3.6.1):
- CocoaLumberjack/Core (= 3.6.1)
- CocoaLumberjack/Core (3.6.1)
- DoraemonKit/Core (
2
.0.0)
- DoraemonKit/WithDatabase (
2
.0.0):
- DoraemonKit/Core (
3
.0.0)
- DoraemonKit/WithDatabase (
3
.0.0):
- DoraemonKit/Core
- YYDebugDatabase
- DoraemonKit/WithGPS (
2
.0.0):
- DoraemonKit/WithGPS (
3
.0.0):
- DoraemonKit/Core
- DoraemonKit/WithLogger (
2
.0.0):
- DoraemonKit/WithLogger (
3
.0.0):
- CocoaLumberjack
- DoraemonKit/Core
- DoraemonKit/WithMLeaksFinder (
2
.0.0):
- DoraemonKit/WithMLeaksFinder (
3
.0.0):
- DoraemonKit/Core
- FBRetainCycleDetector (0.1.4)
- FMDB (2.7.5):
...
...
@@ -86,7 +86,7 @@ CHECKOUT OPTIONS:
SPEC CHECKSUMS:
AFNetworking: cb8d14a848e831097108418f5d49217339d4eb60
CocoaLumberjack: b17ae15142558d08bbacf69775fa10c4abbebcc9
DoraemonKit:
b02a53c6bd229568b876a3e0d75e23a8bc29bf13
DoraemonKit:
4ad75a74374d836425e947f0f891157cacfdcf46
FBRetainCycleDetector: 46daef95c2dfa9be34b53087edf6a8f34e4c749c
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
GCDWebServer: c0ab22c73e1b84f358d1e2f74bf6afd1c60829f2
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录