Android性能优化
以实际操作中遇到的基本案例为基础讲解如何进行Android的性能优化
Easyhood
Android开发工程师
展开
-
Android性能优化(八)电量优化
一、耗电量手机各个硬件模块的耗电量是不一样的,有些模块非常耗电比如移动蜂窝网络、GPS,而有些模块则相对显得耗电量小很多。电量测试,就是测试移动设备电量消耗快慢的一种测试方法。一般用平均电流来衡量电量消耗速度。平均电流越小,说明设备使用时间越长。但是平均电流多大才说明不耗电却没有一个统一标准。硬件测试:利用硬件设备测试被测设备的电流,统计一段时间内(使用某个功...原创 2020-03-05 16:46:33 · 646 阅读 · 1 评论 -
Android性能优化(七)Bitmap内存压缩
一、Bitmap内存占用内存大小计算ARGB_8888ARGB各占8位,即WIDTH*HEIGHT*4RGB_565R5位,G6位,B5位,即16位WIDTH*HEIGH*2getByteCount返回可用于存储此位图像素的最小字节数。BitmapFactory.Options控制解码图片参数inDensi...原创 2020-03-03 22:48:13 · 607 阅读 · 0 评论 -
Android性能优化(六)图片压缩
一、压缩图片文件压缩——内存压缩二、文件压缩方式1.质量压缩2.尺寸压缩3.格式选择:JPEG/WEBP(4.0以上)三、压缩原理/frameworks/base/core/jni/android/graphics/Bitmap.cppSkia引擎https://skia.org/index_zhGoogle研发、开源的C++二维图形库An...原创 2020-03-03 16:10:57 · 470 阅读 · 0 评论 -
Android性能优化(五)进程保活
一、进程的优先级Android系统将尽量长时间地保持应用进程,但为了新建进程或运行更重要的进程,需要清除旧进程来回收内存。 为了确定保留或终止哪些进程,系统会对进程进行分类。 需要时,系统会首先消除重要性最低的进程,然后是清除重要性稍低一级的进程,依此类推,以回收系统资源。https://developer.android.google.cn/guide/components/proce...原创 2020-03-02 23:28:51 · 654 阅读 · 0 评论 -
Android性能优化(四)内存抖动、OOM
内存抖动、OOM内存抖动内存抖动是指内存频繁地分配和回收,而频繁的gc会导致卡顿,严重时和内存泄漏一样会导致OOM。内存抖动为什么会造成OOM这关系到Java的垃圾回收。垃圾回收在对对象进行回收前需要对垃圾进行采集,不同的虚拟机实现可能使用不同的垃圾收集算法,不同的收集算法的实现也不尽相同。不同的算法各有各的优劣势。常用的收集算法有...原创 2020-03-02 20:28:17 · 498 阅读 · 0 评论 -
Android性能优化(三)内存管理
内存管理内存模型Android原生开发以java为主。在java中,Java内存模型,往往是指Java程序在运行时内存的模型,而Java代码是运行在Java虚拟机之上的,所以Java内存模型,也就是指Java虚拟机的运行时内存模型。java中内存全权交给虚拟机去管理,那虚拟机的运行时内存是如何构成的?很多时候,我们提到内存,会说到堆...原创 2020-03-01 15:56:12 · 336 阅读 · 0 评论 -
Android性能优化(二)布局渲染流程优化
布局渲染流程优化一、CPU与GPU绘制原理CPU 的任务繁多,做逻辑计算外,还要做内存管理、显示操作,因此 在实际运算的时候性能会大打折扣,在没有 GPU 的时代,不能显示复 杂的图形,其运算速度远跟不上今天复杂三维游戏的要求。即使 CPU 的工作频率超过 2GHz 或更高,对它绘制图形提高也不大。这时 GPU 的设计就出来了。CPU 的控制器较为复杂,而 ALU 数量较少。因此 CPU 擅...原创 2020-02-26 18:56:18 · 314 阅读 · 0 评论 -
Android性能优化(一)App启动时间优化
App启动时间优化一、首先我们需要清楚App的主题加载你的App的主题位于res/values/styles<style name = "AppTheme" parent = "Theme.AppCompat.Light">我们点击Light主题进去,会发现此主题位于app/build/intermediates/exploded-oar/com.android.s...原创 2020-02-25 19:00:53 · 2920 阅读 · 0 评论