android速度优化
Ⅰ 如何优化 android 系统应用的启动速度
一、应用的启动
启动方式
通常来说,在安卓中应用的启动方式分为两种:冷启动和热启动。
1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。
2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,这个方式叫热启动。
- adb shell am start -W [packageName]/[packageName.MainActivity]
特点
1、冷启动:冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类,再创建和初始化MainActivity类(包括一系列的测量、布局、绘制),最后显示在界面上。
2、热启动:热启动因为会从已有的进程中来启动,所以热启动就不会走Application这步了,而是直接走MainActivity(包括一系列的测量、布局、绘制),所以热启动的过程只需要创建和初始化一个MainActivity就行了,而不必创建和初始化Application,因为一个应用从新进程的创建到进程的销毁,Application只会初始化一次。
上面说的启动是点击app的启动图标来启动的,而另外一种方式是进入最近使用的列表界面来启动应用,这种不应该叫启动,应该叫恢复。
二、应用启动的流程
在安卓系统上,应用在没有进程的情况下,应用的启动都是这样一个流程:当点击app的启动图标时,安卓系统会从Zygote进程中fork创建出一个新的进程分配给该应用,之后会依次创建和初始化Application类、创建MainActivity类、加载主题样式Theme中的windowBackground等属性设置给MainActivity以及配置Activity层级上的一些属性、再inflate布局、当onCreate/onStart/onResume方法都走完了后最后才进行contentView的measure/layout/draw显示在界面上,所以直到这里,应用的第一次启动才算完成,这时候我们看到的界面也就是所说的第一帧。
所以,总结一下,应用的启动流程如下:
Application的构造器方法——>attachBaseContext()——>onCreate()——>Activity的构造方法——>onCreate()——>配置主题中背景等属性——>onStart()——>onResume()——>测量布局绘制显示在界面上。
三、测量应用启动的时间
在上面这个启动流程中,任何一个地方有耗时操作都会拖慢我们应用的启动速度,而应用启动时间是用毫秒度量的,对于毫秒级别的快慢度量我们还是需要去精确的测量到到底应用启动花了多少时间,而根据这个时间来做衡量。
什么才是应用的启动时间
从点击应用的启动图标开始创建出一个新的进程直到我们看到了界面的第一帧,这段时间就是应用的启动时间。
我们要测量的也就是这段时间,测量这段时间可以通过adb shell命令的方式进行测量,这种方法测量的最为精确,命令为:
执行成功后将返回三个测量到的时间:
1、ThisTime:一般和TotalTime时间一样,除非在应用启动时开了一个透明的Activity预先处理一些事再显示出主Activity,这样将比TotalTime小。
2、TotalTime:应用的启动时间,包括创建进程+Application初始化+Activity初始化到界面显示。
3、WaitTime:一般比TotalTime大点,包括系统影响的耗时。
下面是测量一个应用冷启动和热启动的时间:
冷启动:
热启动:
以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。
Ⅱ 安卓机卡了怎么优化
随着安卓不断得优化和升级,身边越来越多的人从IOS转向安卓,在安卓阵营逐步扩大的同时,安卓系统遗留问题也越来越突出,由于安卓系统不像IOS那样封闭,所以安卓系统拥有多样化的同时,后期的用户体验度却不高
生活中不少朋友问过白菜,为什么他的安卓手机越用越卡,其实我也郁闷,为什么我的安卓机用了三年,一如既往的流畅,而他们买了不久的却卡出了砸机的冲动,下面白菜就为大家分享一下手机内核优化,很简单,也很实际用,喜欢的欢迎收藏和转载
以华为手机为例
1. 打开手机的【设置】功能,在设置窗口内找到【关于手机】选项,并进入(如下图)
2. 在关于手机窗口中找到【版本号】这一栏,连续点击5~6次,直到提示'您已处于开发者模式',此时退出到【设置】窗口中,并且已经出现【开发者选项】子窗口,点击进入(如下图)
3. 在【开发者选项】窗口中把'窗口动画缩放'、'过渡动画缩放'、'动画程序时长缩放'都改为'0.5',再把'强制进行GPU渲染'和'强制启用4xMSAA'开启,
4. 如果手机比较卡,可以在【开发者选项】内进入(后台进程限制)子窗口,把后台进程限制改为'不得超过3个进程'等(根据自身需求选择)
小米用户的开发者选项中有一个(内存优化级别)的选项,将其调为高级即可