
性能优化
文章平均质量分 95
一枚-狗子
这个作者很懒,什么都没留下…
展开
-
性能优化之内存泄露(Memory Leak)常用分析工具(另3种)
1 Lint分析工具(1)概述 lint是随Android SDK自带的一个静态代码分析工具。它用来对Android工程的源文件进行检查,找出在正确性、安全、性能、可使用性、可访问性及国际化等方面可能的bugs和可优化提升的地方,在提交版本前检查非常有必要,作用明显。 (2)lint工作流程 针对我们的项目,通过lint.xml配置lint分析的选项,执行检查后,会针对要分析的issue...原创 2016-11-14 21:45:35 · 3870 阅读 · 0 评论 -
性能优化之内存泄露(Memory Leak)解决
1 分析内存泄漏遇到的问题(1)把两个dump文件对比,找出GC root树,发现MainActivity实例被CommonUtil引用,说怀疑此处可能有泄露。但实际开发的时候,很多这种情况,莫非都要怀疑一遍?我们必然知道mat只是个工具,提供泄露的建议,但工具能提供给码农最关键的建议难道就到这里为止了吗? (2)在mat分析工具的时候,没有结合旋转屏幕导致Activity泄露的例子分析,把...原创 2016-11-14 09:43:10 · 5828 阅读 · 0 评论 -
Android性能优化之实现拥有Looper的线程--HandlerThread
1 HandlerThread1.1 定义 HandlerThread是能够新建拥有Looper的Thread,这个Looper能够用来新建其他的Handler。HandlerThread本质是一个线程,在线程内部,代码是串行处理的。(线程中的Looper)需要注意的是,新建的时候需要被回调。1.2 特点(1) HandlerThread将loop转到子线程中处理,目的就是分...原创 2017-01-17 18:33:36 · 4919 阅读 · 0 评论 -
性能优化之电量优化1-电量消耗的全过程分析
0 Google官方优化方案Android开发中的电量和内存优化 (Google开发者大会演讲PPT&视频) Android性能优化-电量优化1 概述设备忙着执行各种任务和各种复杂计算,秀自拍上传朋友圈图片、秀直播,设备硬件正在快速消耗电池电量来完成这些任务。很明显,你的任务处理的越复杂,电量就会消耗的越多和越快,一眨眼的功夫电量就消耗完了,用户的手机顿时变成个累赘的砖头了,这时候用户就会怀疑谁原创 2016-12-04 14:10:54 · 1883 阅读 · 0 评论 -
Android性能优化之图片压缩优化
1 分类Android图片压缩结合多种压缩方式,常用的有尺寸压缩、质量压缩、采样率压缩以及通过JNI调用libjpeg库来进行压缩。 参考此方法:Android-BitherCompress备注:对于资源图片直接使用:tiny压缩2 质量压缩(1)原理:保持像素的前提下改变图片的位深及透明度,(即:通过算法抠掉(同化)了图片中的一些某个些点附近相近的像素),达到降低质量压缩文件大...原创 2017-01-13 15:58:01 · 17539 阅读 · 5 评论 -
Android性能优化之安装包性能优化
1 res资源优化(1)只使用一套图片,使用高分辨率的图片。 (2)UI设计在ps安装TinyPNG插件,对图片进行无损压缩。 (3)svg图片:一些图片的描述,牺牲CPU的计算能力的,节省空间。使用的原则:简单的图标。 (4)图片使用WebP(https://developers.google.com/speed/webp/)的格式(Facebook、腾讯、淘宝在用。)缺点:加载相比于PNG原创 2017-01-07 17:52:12 · 2924 阅读 · 2 评论 -
Android性能优化之提高App启动速度和Splash页面设计
1 App的启动1.1 启动方式通常来说,在安卓中应用的启动方式分为两种:冷启动和热启动。(1)冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。 (2)热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情...原创 2017-01-03 19:54:44 · 12114 阅读 · 3 评论 -
性能优化之卡顿分析-计算并优化内存抖动和耗时操作
1 卡顿(卡UI线程)(1)外部引起的:Activity里面直接进行网络访问/大文件的IO操作。 (2)内存引起的:内存抖动的问题,new Object obj = null;执行耗时方法。 (3)View本身的卡顿:自定义View要注意的,能否优化:2 优化主方向(1)避免让主线程执行耗时的操作 (2)优化自定义View卡顿问题3 解决方法(有问题???)3...原创 2016-11-18 18:27:22 · 3621 阅读 · 0 评论 -
性能优化之大纲
本文参考来源: 作者:张明云 链接:https://zhuanlan.zhihu.com/p/22103855 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1 性能优化分类除了交互、视觉、内容方面的问题外,在用户使用过程中,给用户造成烦恼的问题都可以归结为是性能问题,比如上文中列出的这些都属于性能问题,按照影响的方面不同,可以分为如下几大类:(1)内存问题转载 2016-12-06 23:07:43 · 659 阅读 · 0 评论 -
性能优化之渲染性能优化
1 知识储备 CPU::中央处理器,它集成了运算,缓冲,控制等单元,包括绘图功能。CPU将对象处理为多维图形、纹理(Bitmaps、Drawables等都是一起打包到统一的纹理)。 GPU:一个类似于CPU的专门用来处理Graphics的处理器,作用用来帮助加快格栅化操作,当然,也有相应的缓存数据(例如缓存已经光栅化过的bitmap等)机制。 OpenGL ES:是手持嵌入式设备...原创 2016-11-20 15:09:25 · 8408 阅读 · 4 评论 -
性能优化之电量优化3-优化方案
1 通过监控电量状态来进行电量管理1.1 问题描述提问:拍照和图片的处理,他们可以做一些电量的优化吗?解答:假如现在没有充电,电量比较低,拍照动作是需要立马执行的,但是图片处理(需要消耗大量的计算—电量的大量消耗)是否可以放在用户手机插上电源之后来处理? 解决:如何立即获取手机当前充电状态,我们可以有针对性地对一些代码做优化。比如:判断只有当前手机为AC充电状态时 才去执行一些非常耗电的操作。1.原创 2016-12-04 21:50:34 · 2452 阅读 · 2 评论 -
性能优化之电量优化2-使用Battery Historian生成电量消耗报告
1 数据准备1.1 先断开adb服务,然后开启adb服务(a)adb kill-server 这一步很重要,因为当我们开发时做电量记录时会打开很多可能造成冲突的东西。为了保险起见我们重启adb。adb devices就会自动连接查找手机。备注:mac可以直接使用adb命令;但是windows不行,需要进入到adt下:adt-bundle-windows-x86_64-20140702\adt-bun原创 2016-12-04 15:48:24 · 17372 阅读 · 9 评论 -
性能优化之内存泄露(Memory Leak)&OOM&ANR分析
1 内存泄露1.1 什么是Java中的内存泄漏 当一个对象已经不需要使用了,本该被回收时,而有另外一个正在使用的对象持有它的引用,从而导致了对象不能被GC回收。这种导致了本该被回收的对象不能被回收而停留在堆内存中,就产生了内存泄漏。 在Java 中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点:①这些对象是可达的,即在有向图中存在通路可以与gc roots相连(直接...原创 2016-11-13 19:22:09 · 1986 阅读 · 0 评论