Android学习笔记
文章平均质量分 78
林三白
在安卓开发界努力地游 ,失败了就回家种田。
展开
-
Android卡顿优化学习笔记
造成卡顿的原因有很多种,但最终都会反应到CPU时间上,CPU时间分为用户时间和系统时间。用户时间:执行应用代码所需时间。系统时间:执行内核态系统代码所需时间,如I/O、锁、中断。问题:当出现卡顿的时候,如何区分是应用的问题,还是系统的问题?1. 卡顿问题分析指标CPU使用率首先应该先查看CPU使用率,通过/proc/[pid]/stat可以得到某个进程的CPU使用情况,会得到utime和stime两个重要字段。应用系统时间若超过30%,则应检查是I/O过多还是其它系统调用问题。Andr原创 2020-09-24 14:12:53 · 350 阅读 · 1 评论 -
Android崩溃优化学习笔记
Android中的两种崩溃分别是Java崩溃和Native崩溃。Java崩溃:Java代码中出现未捕获异常,导致程序异常退出。Native崩溃:Native代码中访问非法地址、地址对齐出现问题、程序主动abort。难点在于Native崩溃的捕获,其流程如下:编译端:编译C/C++代码时,将带符号信息的文件保存下来。客户端:捕获崩溃时,尽可能收集有用信息写入日志文件,在合适的时机上传服务器。服务端:读取客户端上报的日志文件,寻找合适的符号文件,生成可读的C/C++调用栈。如果涉及到Nat原创 2020-09-22 16:47:20 · 251 阅读 · 1 评论 -
Android内存优化学习笔记
最近在学习Android内存优化方面的知识,下面做一下笔记。首先内存优化可以从三方面入手,分别是设备分级、Bitmap优化和内存泄漏。设备分级目标是针对设备性能的好坏使用不同的内存分配和回收策略。设备分级对低端机关闭复杂的动画或是某些功能;使用565格式的图片;使用更小的内存缓存。缓存管理使用统一的缓存管理机制,做到用时分配,及时归还。可以使用onTrimMemory回调,根据不同的状态决定释放多少内存。进程模型减少应用启动的进程数,减少常驻进程、有节制地保活。安装包体积安装包中的原创 2020-09-17 15:54:23 · 159 阅读 · 0 评论 -
通俗理解EventBus工作流程
想了个办法方便让自己记忆EventBus的工作流程,就是代入生活中的事情。EventBus的工作流程可以通俗地类比于去餐厅吃饭,顾客是事件订阅者,厨房是发送者。首先顾客来到餐厅,查看菜单,开始点菜,在菜单上打勾勾什么的,菜可以认为是事件(Event),点完之后由服务员(subscriberMethodFinder)接管,服务员找出顾客点了什么菜,然后将其一样一样录入餐厅的点餐系统(subscribe方法),点餐系统由subscriptionsByEventType、typesBySubscriber、s原创 2020-08-27 15:10:01 · 176 阅读 · 0 评论