首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
steven000
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
14
文章 14
沸点 0
赞
14
返回
|
搜索文章
最新
热门
Java 泛型很简单,别搞那么复杂,顺带吐槽 Kotlin
泛型很简单,记住一句话就行:父类引用才能指向子类对象。in、out 的命名只是部分反映了用法,但丢了语义,可以说是捡了芝麻,丢了西瓜。相比 extends/super,根本就是退化。
关于 Fresco 和 Glide,真的和你想的一样吗
网上对于 Fresco 的讨论一般都是说 Fresco 性能更好,Glide 使用更简单。然而这个问题的答案真的有那么明显吗? 比如性能问题。Fresco 性能真的比 Glide 好多少吗?毕竟 Fresco 包更大,线程开得也更多,图片重采样也要手动提供 ResizeOpti…
Glide 提炼总结
RequestManager 的 load 方法用于返回一个 RequestBuilder,在执行 into 方法时才正式构建请求并执行。 因为一个图片加载请求可能附加了缩略图或出错时显示的图片,为了协调多张图片请求,Glide 将加载请求分为 SingleRequest 、E…
Fresco 提炼总结
开始本文之前,先简单聊一下阅读源码这件事,以前我没经验,看源码喜欢面面俱到,不放过任何一个细节,结果就是当时看明白了,之后很快就忘了,因为记的细节太多,关键点反而记不住。 现在学会了,看源码只看关键流程,而且,一般来说,设计良好的开源库的接口都设计得很好,把接口搞清楚了,代码架…
Android 性能监控框架 xCrash-捕获 Java 和 Native 崩溃
出现崩溃后,JavaCrashHandler 会收集 logcat、异常堆栈、文件句柄、内存等信息,并写入到 tombstone 文件中。 这么做可以避免文件句柄不足导致无法创建日志文件。 根据 Android 开发高手课的说法,Thread.getAllStackTraces…
Android 性能监控框架 Matrix(8)I/O 监控及原理解析
Matrix 中用于 I/O 监控的模块是 IOCanary,它是一个在开发、测试或者灰度阶段辅助发现 I/O 问题的工具,目前主要包括文件 I/O 监控和 Closeable Leak 监控两部分。 IOCanary 采用 hook(ELF hook) 的方案收集 IO 信息…
Android 性能监控框架 Matrix(7)资源优化
上一篇文章中说到,除了插桩之外,Matrix 还会根据用户配置选择是否执行资源优化的功能,以删除不必要的资源文件。 Matrix 资源优化的其中一个功能是裁剪 resources.arsc,分析该功能之前,先简单了解一下 arsc 的文件格式。 Package,用于描述一个包,…
Android 性能监控框架 Matrix(6)插桩
之前说到,Matrix 的卡顿监控关键在于插桩,下面来看一下它是怎么实现的。 ParseMappingTask 主要用于分析方法统计相关的文件,如 mapping.txt(ProGuard 生成的)、blackMethodList.txt 等,并将映射规则保存到 HashMap…
Android 性能监控框架 Matrix(5)卡顿监控源码解析
TraceCanary 模块只能在 API 16 以上的设备运行,内部分为 ANR、帧率、慢方法、启动四个监测模块,核心接口是 LooperObserver。 之所以通过反射的方式实现,而不是通过 postCallback,是为了把我们的 callback 放到头部,这样才能计…
Android 性能监控框架 Matrix(4)卡顿监控
Matrix 中负责卡顿监控的组件是 TraceCanary,它是基于 ASM 插桩实现的,用于监控界面流畅性、启动耗时、页面切换耗时、慢函数及卡顿等问题。和 ResourceCanary 类似,使用前需要配置如下,主要包括帧率、耗时方法、ANR、启动等选项: 相比内存泄漏,卡…
下一页
个人成就
文章被点赞
286
文章被阅读
79,604
掘力值
1,888
关注了
16
关注者
153
收藏集
4
关注标签
20
加入于
2018-11-10