性能优化
文章平均质量分 84
Ansen360
从事android手机系统开发7年,就职过2家国内知名手机公司
展开
-
Android9.0 P 电源管理&android各版本电量优化功能策略
针对电量优化android的改动在最近几个android版本中已存在的电量优化功能基础上,Android 9 引入了一些新功能来持续改进设备电源管理,以确保将系统资源提供给最需要它们的应用.近几个android版本中电量优化功能:Android 5.0 Lollipop: 1.新增 Job Scheduling API 可以将作业推迟(合并)到稍后或指定条件下(如设备充电...原创 2018-10-24 18:52:20 · 8116 阅读 · 2 评论 -
Android APP性能优化之 ---- 布局优化(一)
布局优化的核心思想是优化布局嵌套层级(层级越少,View绘制时越快)一、Android系统屏幕UI刷新机制首先需要明白一个概念,如果我们想要屏幕流畅的运行,就必须保证UI全部的测量、布局和绘制的时间在16ms内为什么是16ms? 因为人眼与大脑之间的协作无法感知超过60fps的画面更新,而16ms也就是每秒刷新60fps 16ms=1000/60Hz,也就是说超过16ms用户就会感知到卡...原创 2015-12-24 23:29:55 · 4428 阅读 · 2 评论 -
Android APP性能优化之 ---- 优化监测工具(四)
Android ProfilerAndroidStudio中 工具栏--> View --> Tool Windows --> Android Profiler打开Android Profiler是一款使用非常简单的图形化工具,可以很好地监控系统或应用的内存、CPU、网络的使用情况Memory Analyzer Tool(MAT)MAT 是一个快速,功能丰富的 Java Heap...原创 2015-12-24 23:38:07 · 3364 阅读 · 1 评论 -
Android APP性能优化之 ---- 内存优化(二)
由于Android应用的沙箱机制,每个应用所分配的内存大小是有限度的,因此内存会显得非常珍贵,如果我们的内存占用超过了一定的水平就会出现OutOfMemory错误内存概述RAM(random access memory)随机存取存储器.(通俗的说就是内存)Java的内存分配策略:Java内存分配时会涉及到以下区域:栈(Stack):一些基本类型的变量和对象的引用都是在栈内存中...原创 2018-04-26 11:05:17 · 1168 阅读 · 0 评论 -
Android APP性能优化之 ---- 代码优化(三)
编码优化相关: - 避免创建不必要的对象创建新的对象都需要额外的内存空间,要尽量减少创建短生命周期的临时对象;减少对象的创建就能减少垃圾收集,进而提升性能场景:1.频繁的字符串拼接使用StringBuffer或者StringBuilder,而不是加号拼接,因为使用加号拼接会产生中间字符串内存块,拼接的字符串越长,性能越低.2.尽量使用基本数据类来代替对象数据类型(int比Integ...原创 2015-09-19 01:30:07 · 4737 阅读 · 0 评论 -
Android帧动画实现,防OOM,比原生动画集节约超过十倍的资源
2015年项目接到一个需求,实现一个向导动画,这个动画一共六十张图片,当时使用的是全志A33的开发(512的内存),通过使用Android的动画集实现,效果特别卡顿,然后想到这种方式来实现,效果很流畅.然后写成开一个开源项目供大家参考对比以下两种方式实现帧动画,使用相同的80张280x280的png图片执行动画,资源占用情况对比:Android动画集实现: 内存占用56M左右Fra...原创 2017-03-24 17:54:00 · 17775 阅读 · 15 评论 -
BatteryHistorian环境搭建配置
BatteryHistorian环境配置1.Go语言环境配置1.下载安装(go1.8.windows-amd64.msi)https://www.golangtc.com/download 官方(https://golang.org/doc/install#testing)2.配置环境变量C:\Go\bin;2.Python环境配置下载安装(Python2.7)http...原创 2015-09-23 01:46:37 · 5304 阅读 · 0 评论 -
Android内存泄露OOM的原因及解决方法
什么是内存溢出? OOM(out of memory)即内存溢出.在程序中,对内存使用超过一定的阀值就会导致内存溢出,而new出来的Object对象在使用完后触发GC也无法被回收 叫做内存泄漏 OOM的可能导致的现象? 1.程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC) 2.由于APP运行内存限制,会导致直接崩溃(OutOfMemoryError) 3...原创 2015-09-24 00:34:37 · 9554 阅读 · 1 评论 -
Android ANR log trace日志文件分析
什么是ANR? ANR:Application Not Responding,即应用无响应 ANR日志Trace文件获取 系统生成的Trace文件保存在data/anr,可以用过命令adb pull data/anr/取出 traces.txt只保留最后一次ANR的信息,Android系统有个DropBox功能功能,它能记录系统出现的crash错误.因此保留有发生过的AN...原创 2015-10-14 01:49:38 · 23411 阅读 · 1 评论 -
Android代码检测优化之StricMode
StrictMode类是Android 2.3 (API 9)增加的一个工具类;可以用来帮助开发者改进所编写的应用代码.并且提供各种策略随时检查和报告开发者所存在的问题官方文档(Google中国)使用StrictMode在应用程序入口Application,Activity或者其他Application组件的onCreate()方法中调用以下代码开启StrictMode:原创 2015-09-19 02:25:39 · 5343 阅读 · 0 评论 -
Android APP性能优化之 ---- APK瘦身 App启动优化
APK资源占用情况分析: Android Studio工具栏中,打开build–>Analyze APK,选择要分析的APK包APK分析页面如下:res: 用来存放资源文件,会自动生成对应的 ID 并映射到 .R 文件中,访问直接使用资源 IDclasses.dex: Dalvik 字节码程序,Dalvik虚拟机执行文件,一般情况下,Android 应用在打包时通过 A...原创 2015-09-19 02:06:35 · 4946 阅读 · 0 评论 -
Android电池功耗BatteryHistorian数据分析
BatteryHistorian的用法BatteryHistorian环境搭建配置官方文档1.BatteryHistorian图形页面数据分析:Timeline:System stats:CPU runing: cpu运行的状态 Kernel only uptime: 只有kernell运行Userspace wakelock: 用户空间申请的锁 Screen: ...原创 2015-10-28 14:25:11 · 13116 阅读 · 2 评论