Android 检查运行慢原因和分析
2016-01-27 15:47
435 查看
做的一款软件里,每次从一个activity到另一个activity时,看CPU的图和运行速度都有点可怕,线程太多了么,但是具体的是什么,我也不确定。
使用Android Studio -> Tools -> Android(最底下一个) -> Android Device Monitor ->打开页面后等待左栏中出现你要监视的机子信息
然后点选运行的程序信息-> 点选左上菜单栏里的图标(图标对应的事情在右边菜单栏里有对应的名字)。如我要检查我的线程:
发现我的Render Thread数字有点可怕
Heap:66.11%(初始) -> 打开菜单66.13%-> 跳转第二个Activity 80.67% -》点击某dialog 81.03% -》打开 Spinner 80.72% 然后就不下去了
查heap时, Thread 1 & 6占最多, Thread 1 大多是UI上的内容
1868 84924
byte[] 6
org.apache.harmony.dalvik.ddmc.DdmVmInternal
getRecentAllocations
后来去查发现render和我的UI有关,难道是我的resource的内容太多? 把大尺寸的图改小后,以及省去一些自己做的UI,这个速度又变正常了。
然后去看heap,Thread 6 还是很明显的在涨。然后继续查 Thread 6是什么,以及 org.apache.harmony.dalvik.ddmc.DdmVmInternalgetRecentAllocations 是什么鬼
“注意:总会有一些分配是来自与 DdmVmInternal 和 allocation tracker本身。尽管移除掉所有严重影响性能的代码是不必要的(也是不可能的),但是allocation tracker还是可以帮助定位代码中的严重问题。例如,应用可能在每个draw操作上创建新的Paint对象。把对象改成全局变量就是一个很简单的改善性能的修改。”(Ref:http://blog.csdn.net/jdsjlzx/article/details/45822217)
线程Thread Wiki::(http://baike.baidu.com/link?url=59bU6kZtzdqgVT44sjWpH8DSiKqEvYWBwB0FRSJcFz1NhuCoA2vTp1zuY5ZjS9T6LfndkOcQSydkEuvqqo5bt)
优化简介:http://www.oschina.net/news/60157/android-performance-patterns
使用Android Studio -> Tools -> Android(最底下一个) -> Android Device Monitor ->打开页面后等待左栏中出现你要监视的机子信息
然后点选运行的程序信息-> 点选左上菜单栏里的图标(图标对应的事情在右边菜单栏里有对应的名字)。如我要检查我的线程:
发现我的Render Thread数字有点可怕
Heap:66.11%(初始) -> 打开菜单66.13%-> 跳转第二个Activity 80.67% -》点击某dialog 81.03% -》打开 Spinner 80.72% 然后就不下去了
查heap时, Thread 1 & 6占最多, Thread 1 大多是UI上的内容
1868 84924
byte[] 6
org.apache.harmony.dalvik.ddmc.DdmVmInternal
getRecentAllocations
后来去查发现render和我的UI有关,难道是我的resource的内容太多? 把大尺寸的图改小后,以及省去一些自己做的UI,这个速度又变正常了。
然后去看heap,Thread 6 还是很明显的在涨。然后继续查 Thread 6是什么,以及 org.apache.harmony.dalvik.ddmc.DdmVmInternalgetRecentAllocations 是什么鬼
“注意:总会有一些分配是来自与 DdmVmInternal 和 allocation tracker本身。尽管移除掉所有严重影响性能的代码是不必要的(也是不可能的),但是allocation tracker还是可以帮助定位代码中的严重问题。例如,应用可能在每个draw操作上创建新的Paint对象。把对象改成全局变量就是一个很简单的改善性能的修改。”(Ref:http://blog.csdn.net/jdsjlzx/article/details/45822217)
线程Thread Wiki::(http://baike.baidu.com/link?url=59bU6kZtzdqgVT44sjWpH8DSiKqEvYWBwB0FRSJcFz1NhuCoA2vTp1zuY5ZjS9T6LfndkOcQSydkEuvqqo5bt)
优化简介:http://www.oschina.net/news/60157/android-performance-patterns
相关文章推荐
- 史上最详细的Android Studio系列教程二--基本设置与运行
- Android Design Support Library控件使用总结(二)
- Android之服务(三)服务的生命周期
- android中的MD5、Base64、DES/3DES/ADES加解密
- 将Github下载的项目导入android studio
- Android之服务(二)活动和服务进行通信
- Android注解式开发BufferKnife的使用
- android 验证码 (canvas)
- 控制输入法软键盘隐藏
- Android框架模式(1)-MVP入门
- Android 手写Binder 教你理解android中的进程间通信
- Android traces.txt只保留最后一次发生ANR时的traces信息,那么以前的traces信息就丢失了么?
- 讨论一个Android 异步开发中容易忽视的bug
- Android之服务
- Android camera2预览界面流程
- Android内存泄漏简介
- 转载Android中全屏或者取消标题栏
- Android:我为何要封装DialogFragment?
- Android之使用 AsyncTask
- Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解