android优化

1. 绘制优化

卡顿原因:16ms需要绘制一帧,如果主线程操作过多,会导致vsync到来时数据没有准备号,导致丢帧,应用卡顿。

overdraw : 不设置不必要的背景, cliprect绘制可见部分

减少层级,使用merge/include/stub

不要主线程做耗时操作

内存使用不当,频繁gc,影响主线程执行

工具: HirearchyView、Systrace、TraceView、GPU profile

2. 内存优化

android gc:gc类型,gc算法、堆分配。

使用合理的数据结构,例如SparseArrary系列(key为整型),arraymap代替hashmap

少使用枚举

频繁分配的可以创建线程池,要避免内存泄漏

不要在ondraw做分配对象

对bitmap的使用,注意使用insamplesize,inbitmap,rgb格式。

注意图片资源放置的位置。

使用完的ui资源图片设置为null。

3. 内存泄漏

原因:资源未释放(cursor, file, 广播),listenter未解注册,静态变量,内部类,handler,长时间运行的后台线程。

解决:heap dumper,mat. 关注大对象,activity,fragment。使用select语句,使用两次内存对比图等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容