以前总想着写一些博客记录自己所学,但是总是没有行动,想法只有用行动才能实现!第一篇文章欢迎大家探讨交流,希望有人喜欢。好了下面让我们进入到学习内容:
开发一个项目有的时候会忽略一些认为不重要的东西,从而导致程序启动慢,反应慢从而导致比较差的用户体验,所以作为开发我们一定要把程序优化作为重中之重。
大家应该都知道在启动Activity的时候会 首先执行onCreate的生命周期 一般都是首先调用setContentView(R.layout.main);这个方法。(展开并设定布局)。在这个过程中将执行大概三部 一。读取应用的资源数据(APK文件内 ,存储在内部存储器或SD卡中)。 二. 解析资源数据,展开布局 三.布局展开成为Activity的顶层视图。 在这个过程中如果你的布局很复杂,那么你的资源数据就会很大,解析的时候会越慢。这样会浪费时间。 而setContentView这个方法将会占用oncreate到onresume结束之间所用时间的99%.。 所以onCreate()的消费时间直接影响到Activity,影响应用的启动时间。所以我们要尽量减少布局展开所花费的时间。比如下图
这个布局文件一共有七个对象,其中4个文本视图,而3个线性布局只是用来辅助定位 。 这样会有两个问题 (1) 线下布局会深化布局层次,从而导致布局和按键处理变慢;2。7对象过多,有没有必要的对象。
如果这样的情况我们可以直接用绝对布局代替相对布局从而实现效果。这样市创建了5个对象,而且还在一层视图上。从而进行布局的优化。如下面代码