首页
学习
活动
专区
工具
TVP
发布

编码前线

专栏作者
84
文章
212680
阅读量
21
订阅数
SharedPreferences解析
说明:SharedPreferences与Editor只是两个接口,SharedPreferencesImpl和EditorImp分别实现了对应的接口。另外,ContextImpl记录着SharedPreferences的重要数据,如下:
用户1205080
2019-05-06
6340
Android应用ANR分析
在Android中,程序的响应性是由Activity Manager与Window Manager系统服务来负责监控的,当系统检测到下面的条件之一时会显示ANR的对话框:
用户1205080
2019-04-25
8590
BlockCanary原理分析
概述 BlockCanary是Android平台上的一个轻量的,非侵入式的性能监控组件,可以在使用应用的时候检测主线程上的各种卡顿问题,并可通过组件提供的各种信息分析出原因并进行修复。 使用 项目地址:https://github.com/markzhai/AndroidPerformanceMonitor Step1. 配置build.gradle dependencies { // most often used way, enable notification to notify block e
用户1205080
2019-04-25
1.1K0
HandlerThread解析
如果没有HandlerThread,我们在子线程中创建Handler,需要这么操作:
用户1205080
2019-04-25
1.1K0
IntentService解析
Step1. 定义IntentService的子类:传入线程名称、重写 onHandleIntent()方法
用户1205080
2019-04-25
4200
AsyncTask解析
需要进度更新: onPreExecute() --> doInBackground() --> publishProgress() --> onProgressUpdate() --> onPostExecute()
用户1205080
2019-04-25
5590
Android应用ANR分析
在Android中,程序的响应性是由Activity Manager与Window Manager系统服务来负责监控的,当系统检测到下面的条件之一时会显示ANR的对话框:
用户1205080
2019-03-18
1.1K0
Android OOM分析
2. 注意在ListView/GridView等出现大量重复子组件的视图里面对ConvertView的复用3. Bitmap对象的复用
用户1205080
2019-03-12
2.3K0
LeakCanary原理分析
概述 LeakCanary是一个开源的内存泄漏检测库,极大简化了内存泄漏的检测流程。了解其工作原理,有助于我们更好的理解Android的内存管理机制。 使用示例 在 build.gradle中添加配置: dependencies { debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3' releaseImplementation 'com.squareup.leakcanary:leakcanary-androi
用户1205080
2019-03-11
1.4K0
Android热修复原理解析
通过上面几个类的关系,和类的查找过程,我们可以发现最终是通过遍历 DexPathList的 dexElements数组进行类的查找加载,当找到类就返回;
用户1205080
2019-03-05
6800
Hook技术
当调用Activity的startActivity方法时,最后会调用 mInstrumentation的execStartActivity方法来完成Activity的开启,而 mInstrumentation是Activity的成员变量,所以是一个很好的Hook点,用代理Instrumentation来替代原始的Instrumentation完成Hook。
用户1205080
2019-02-26
1.6K0
Android插件化原理解析
在解决插件中组件的生命周期,通常的做法是通过 Hook相应的系统对象,实现欺上瞒下,后面将通过Activity的插件化来进行讲解。
用户1205080
2019-02-26
8570
ClassLoader解析(一):Java中的ClassLoader
Step1::自定义类加载器首先从缓存中查找Class是否已经加载,如果已将加载就返回该Class;如果没加载,则委托给父加载器也就是App ClassLoader。
用户1205080
2019-01-23
5220
使用FindBugs插件检查Android代码
概述 FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通过使用 Visitor 模式。 FindBugs—代码缺陷分类 Badpractice:不好的做法,代码违反了公认的最佳实践标准; Maliciouscode vulnerability:恶意的代码漏洞; Correctness:正确性; Performance:潜在的性能问
用户1205080
2019-01-23
7820
没有更多了
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档