
性能优化
文章平均质量分 87
sziitjin
安卓App开发工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android性能优化—Apk瘦身优化
如果有想要特别声明需要保留或舍弃的特定资源,在项目中创建一个包含 <resources> 标记的 XML 文件,并在 tools:keep 属性中指定每个要保留的资源,在 tools:discard 属性中指定每个要舍弃的资源。这两个属性都接受以逗号分隔的资源名称列表。还可以将星号字符用作通配符。将该文件保存在项目资源中,例如,保存在 res/raw/keep.xml 中。构建系统不会将此文件打包到 APK 中。原创 2023-08-07 00:15:00 · 468 阅读 · 1 评论 -
Android性能优化—数据结构优化
优化数据结构是提高Android应用性能的重要一环。在Android开发中,ArrayList、LinkedList和HashMap等常用的数据结构的正确使用对APP性能的提升有着重大的影响。原创 2023-08-06 01:06:01 · 852 阅读 · 0 评论 -
Android性能优化—图片优化
图片优化是内存优化中很重要的一部分,加载Bitmap时往往需要消耗大量的内存,稍不注意就容易导致内存溢出(OOM)。原创 2023-08-04 23:41:23 · 938 阅读 · 0 评论 -
Android性能优化—内存优化
1. 对象创建后在Eden区。2. 执行GC后,如果对象仍然存活,则复制到S0区。3. 当S0区满时,该区域存活对象将复制到S1区,然后S0清空,接下来S0和S1角色互换。4. 当第3步达到一定次数(系统版本不同会有差异)后,存活对象将被复制到Old Generation。5. 当这个对象在Young Generation区域停留的时间达到一定程度时,它会被移动到OldGeneration,最后累积一定时间再移动到Permanent Generation区域。原创 2023-08-03 22:43:38 · 1343 阅读 · 0 评论 -
Android性能优化—Crash监控方案
Overridetry {= null) {//私有目录,无需权限if (!f.mkdirs();//写入crash堆栈pw.flush();pw.close();//App版本//Android版本号//手机制造商//手机型号//CPU架构} else {原创 2023-08-03 02:06:09 · 1551 阅读 · 0 评论 -
Android性能优化—LeakCanary内存泄漏检测框架分析。
1)LeakCanary是通过在Application的registerActivityLifecycleCallbacks方法实现对Activity销毁监听的,该方法主要用来统一管理所有activity的生命周期。所有Activity在销毁时在其OnDestory方法中都会回调ActivityLifecycleCallbacks#onActivityDestroyed方法,而LeakCanary要做的就是在该方法中调用RefWatcher#watch方法实现对activity进行内存泄漏监控。原创 2023-07-28 01:46:12 · 1835 阅读 · 0 评论 -
Android性能优化—启动速度优化
1). APPlication初始化三方SDK时,合理的使用异步初始化、延迟初始化、懒加载机制。2). 启动过程避免耗时操作,如数据库 I/O操作不要放在主线程执行。3). 类加载优化:提前异步执行类加载。4). 合理使用IdleHandler进行延迟初始化。5). 简化页面布局嵌套。原创 2023-07-30 19:10:06 · 744 阅读 · 0 评论 -
Android性能优化—卡顿分析与布局优化
这里面涉及到android UI渲染机制,我们先了解一下android UI是怎么渲染的,android的View到底是如何一步一步显示到屏幕上的?原创 2023-08-01 01:31:39 · 2272 阅读 · 0 评论 -
Android性能优化—ANR问题分析手记
以----- pid 16808 at date ----- 来开头,以 ----- end 16808 ----- 来结尾;3.2 查看主线程定位问题,找到:"main" prio=5 tid=1 Native。3.1 一个 ANR 日志,会包含当前设备中所有进程的使用情况,每个进程开头都会。1.2 BroadcastReceiver的onReceiver()超过10s。2.2 打开ANR日志,目录:dumpstate\FS\data\anr。根据log使用profiler cpu进一步定位问题。原创 2022-10-31 14:31:30 · 576 阅读 · 0 评论 -
Android性能优化—ANR问题分析
1)主线程尽量只做UI相关的操作,避免耗时操作,比如过度复杂的UI绘制,网络操作,文件IO操作;2)避免主线程跟工作线程发生锁的竞争,减少系统耗时binder的调用,谨慎使sharePreference,注意主线程执行provider query操作;3)尽可能减少主线程的负载,让其空闲待命,以期可随时响应用户的操作。1. WatchDog实现流程@Overridereturn!@Override// 设置为后台线程while (!try {原创 2023-08-02 01:17:18 · 546 阅读 · 0 评论