![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android优化策略
饭小粒
蓝牙&Android&iOS&EN
展开
-
应用启动时有多次读写/proc/cpuinfo
问题类型:冗余读/写解决策略:缓存案例分析:通过i/o信息可以发现/proc/cpuinfo被读取10次,且前九次的堆栈完全一样,说明前9次是同一个方法调用的,所以可以在获取cpuinfo的方法中,将读取的信息保存起来,下次再调用时,就不用再去文件中读取了解决方案:用静态数据成员将第一次读取的信息保存起来code:public static void getCupI原创 2017-08-09 10:33:58 · 400 阅读 · 0 评论 -
对于系统API,只知其一造成重复写入
问题类型:冗余读写解决策略:延迟写入案例分析:android系统中使用SharedPreferences文件来保存数据非常方便,需要保存时候调用commit就ok。但是呢,没调用一次,就对应一次文件的打开和关闭,从而造成因commit()方法的随意调用而导致文件的重复打开和关闭,android的源码public boolean commit() { //1.先通过commitT原创 2017-08-09 10:45:11 · 251 阅读 · 0 评论 -
Android过度绘制优化心得
随着产品的更新上线,迎来了短暂的休闲期,借此来总结一下最近完成的任务–有关Android过度绘制的优化。过度绘制概念: 在屏幕一个像素上绘制多次(超过一次)。比如一个TextView后有背景,那么显示文本的像素至少绘了两次,一次是背景,一次是文本。一个形象的解释:如果粉刷过一间房间,就会知道给墙壁涂上颜色需要做大量的工作。假如你还要重新粉刷一次的话,第二次粉刷的颜色会覆盖住转载 2017-08-14 17:49:05 · 351 阅读 · 0 评论 -
Android中RelativeLayout与LinearLayout的性能分析
现象新建xml文件时,默认的根布局是RelativeLayout;而我们setContentView()设置的布局的父布局却是LinearLayout(当前window的顶级View—DecorView(FramLayout)的子View),那么相同情景下到底那个更好呢?Window和DecorViewAndroid中的视图都是通过Window来呈现的,不管Activity,Dialog还是Toa...转载 2018-04-26 09:53:31 · 472 阅读 · 0 评论 -
Android中使用Handler造成内存泄露的分析和解决
Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可到达,同样会被GC回收。...转载 2018-04-26 10:27:22 · 142 阅读 · 0 评论 -
Android性能优化来龙去脉总结
一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样才能更好地提高用户体验。以下是本人在工作中对经历过的性能优化的一些总结,依据故事的发展路线,将其分为了5个部分,分别是:常见的性能问题;产生性能问题的一些可能原因;解决性能问题的套路;代码建议及潜在性能问题排查项。1.png如看不清大图,下文会有拆解一 首先,我们先了解一下都有哪些性能问题2.png1、内存泄露。...转载 2018-07-03 10:01:02 · 210 阅读 · 0 评论 -
Android移动性能
不完全总结: 上圣经 Android移动性能实战 与自动化,流程打通: 自动化测试、自动化分析、自动提单 众测,众包 工具&组件 发现、定位、解决,度量 方法论: 定位方法: 由上而下、由下而上 分层测试: 源码开发、编译集成、测试调...转载 2018-11-26 11:08:07 · 155 阅读 · 0 评论 -
常用的优化性能方面的神兵利器
PerfBox FPS、Activity打开速度 发现Systrace 分析绘制时流程导致的卡顿,能大约定位是GC、I/O、贴图太大,还是没用ViewHolder的问题 发现+初步定位TraceView 能深入定位分析各种流畅度与时延问题,但是只能初步定位XML布局和OpenGL绘制的性能问题 发现+定位Gfxinfo/Slickr 定位硬件加速下的性能问题 发现+初步定位H...转载 2018-11-26 11:38:10 · 149 阅读 · 0 评论 -
Android 性能优化篇之--复杂listView高效渲染
列表是APP必用功能,Item多了,会使App内存占用升高,于是有了ViewHolder对每个重用Item进行缓存。但是在复杂的数据类型中:新闻、图片、网页链接、视频、视频+文字、文字加图片、转发+文字等等,这种情况下还要添加逻辑去缓存各种类型的View,同样的处理不好,App内存占用过高,列表卡顿,这里我就写写我以前的各种优化心得。一、ViewHolder原理:重用View和减少Child ...转载 2019-07-14 14:14:33 · 928 阅读 · 0 评论