
性能优化篇
文章平均质量分 55
Android性能优化实战经验
梁同学与Android
Android 领域优质创作者,专注于安卓原生开发,专注于 Scratch、Python、Scratch、C、C++ 青少年编程等级考试等。等级考试真题请见链接库:https://download.csdn.net/download/qq_43290288/88548582
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android --- 都有哪些情况会发生anr,怎么解决?
如果应用声明的服务无法在规定时间内完成Service.onCreate()和Service.onStartCommand()/Service.onBind()执行,或者Context.startForegroundService()在前台启动新服务但该服务在5秒内未调用startForeground(),则会发生ANR。Android发生ANR的情况主要包括输入调度超时、广播超时、服务超时等,解决ANR问题的方法包括避免在主线程进行耗时操作、导出ANR日志信息、分析系统资源信息、查看主线程状态等。原创 2024-09-02 15:49:24 · 897 阅读 · 0 评论 -
Android ---【CPU优化】需要优化的原因及优化的地方
摘要 系统性能优化是提升应用体验的关键。高CPU占用会导致系统卡顿、后台任务延迟、电池耗电加快和设备发热等问题。优化措施包括:加强内存管理避免泄漏;降低动画帧率并使用属性动画;启用硬件加速利用GPU分担任务;简化视图层次结构,减少渲染负担。后续将提供更多实战案例,帮助开发者持续提升应用性能,优化用户体验。原创 2025-07-14 10:02:35 · 406 阅读 · 0 评论 -
Android ---【内存优化】常见的内存泄露以及解决方案
Android内存泄漏常见场景及解决方案:1.资源未关闭导致泄漏(BroadcastReceiver等),需在Activity销毁时及时关闭/注销;2.Context使用不当,应优先用Application Context;3.static修饰问题,如View被静态持有,可通过及时置null或使用WeakReference解决;4.Handler泄漏,建议使用静态内部类+弱引用,并在生命周期销毁时移除消息。这些措施可以有效避免内存泄漏问题。原创 2025-07-14 09:26:57 · 720 阅读 · 0 评论 -
Android ---【内存优化】强引用、软引用、弱引用和虚引用
Java提供了四种级别的应用类型:强引用、软引用、弱引用及虚引用。那么这四种引用类型分别有什么作用,又有什么区别呢?强引用是我们最常用的一种引用类型。当我们使用new关键字去新建一个对象的时候,创建的就是强引用。比如:强引用有如下特点:强引用与Android开发中的OOM异常OOM异常是Android开发过程中很常见的一种异常,下面来看一个例子:简单的解释一下上面这段代码:MyAsyncTask会跟随Activity的onCreate去创建并开始执行一个长时间的耗时任务,并在耗时任务完成后去更新Mai原创 2022-07-03 21:12:51 · 2024 阅读 · 0 评论 -
Android ---【耗时操作】Handler的用法,子线程中怎么切线程进行更新UI
Android --- Handler的用法,子线程中怎么切线程进行更新UI原创 2025-06-10 16:14:54 · 498 阅读 · 0 评论 -
Android ---【启动优化】闲置线程addIdleHandler的用法
Android --- 闲置线程addIdleHandler的用法原创 2025-06-19 15:40:04 · 108 阅读 · 0 评论 -
Android ---【内存优化】Memory Analyzer(MAT)打开android eclipse Dump内存文件出现 Unknown HPROF Version解决办法
原因是: android的虚拟机导出的内存文件hprof文件格式与标准的 java hprof文件格式标准不一样,根本原因两者的虚拟机不一致导致的。参考:https://www.cnblogs.com/shuzui1985/archive/2013/03/01/3020963.html。只需要使用SDK中自带的转换工具转换就可以了。注意要在以下位置用命令行的方式输入。原创 2023-06-05 15:21:41 · 1471 阅读 · 0 评论 -
Android ---【内存优化】内存泄漏如果查不到具体泄漏的原因怎么处理?
解决方案:通过反射把SearchActiity中的mActivityResultRegistry砍掉,因为查不到具体原因,只能这么做。原创 2023-06-08 09:31:58 · 553 阅读 · 0 评论 -
Android ---【内存优化】Handler 内存泄漏原因及解决方案
Handler造成内存泄露的原因。非静态内部类,或者匿名内部类。使得Handler默认持有外部类的引用。在Activity销毁时,由于Handler可能有未执行完/正在执行的Message。导致Handler持有Activity的引用。进而导致GC无法回收Activity。匿名内部类:非静态内部类:三、解决方法静态内部类+弱引用Activity销毁时,清空Handler中,未执行或正在执行的Callback以及Message。四、内部类为什么会持有外部类的引用这是因为内部类虽然和外部类写在同一个原创 2022-07-03 21:03:31 · 7868 阅读 · 2 评论