安卓开发中的流畅性优化方案研究
2021-11-10张博涵
张博涵
(武汉邮电科学研究院,湖北武汉430074)
作为开发者,在日常开发工作中,性能优化不是最难的问题,却是最让人头疼的问题,因为导致性能变差的原因很多,界面布局、功能逻辑、数据处理甚至是不同版本型号的安卓机都会导致不同的问题。性能优化,是为了让程序能够运行得更快、更省、更稳,先前的开发者们就性能问题虽提出了一些中肯的建议,但并不通用。文中将总结先前开发者们的经验,结合在日常开发中的应用,从应用启动速度、页面加载速度以及操作响应速度入手,提出能提升应用程序流畅性的普适优化建议和一些能使应用程序跑得更快的通用方案。
1 启动速度
启动速度慢的原因,主要是源于在初次打开应用时,需要加载大量的功能逻辑和页面显示的资源。解决该问题可以采取以下几点措施。
1.1 减少onCreate()方法的启动时间
一个Activity 的生命周期如图1所示。由图可知,onCreate()方法是打开一个Activity 时启动的第一个方法,其功能为完成启动一个Activity 的必要的初始化工作,如设置页面的布局资源,初始化组件信息等。如果在onCreate()中的代码过多,该环节耗时过长,则会导致启动速度变慢。

图1 Activity生命周期
举例说明,假如一个页面有20 个控件,开发者将这些控件的所有属性信息,全部放在MainActivity中的onCreate()方法内去初始化。接下来进入到命令提示符cmd 内,通过adb 指令的am start-W-n 包名/.LauncherActivity 指令来启动应用程序,其中的TotalTime 即为该次启动App 所花的时间,大约为600 ms。
接下来可以改变代码,写一个私有方法initView(),将初始化各个控件信息的语句全部放在这个方法里,而在onCreate()中只执行initView()方法,解决了其中代码太过冗杂的问题。……
