Android 性能优化——布局优化
布局優化:就是盡量減少布局文件的層級,致使Android的繪制的工作量減少了,性能就提高啦。
第一種
首先刪除布局中無用的控件和層級,其次有選擇性的使用性能較低的ViewGroup。
比如RelativeLayout. 如果布局中即可以使用RelativeLayout和LinerLayout 那么優先選擇 后者,因為RelativeLayout功能比較復雜,會消耗較多的cpu時間。
FrameLayout和LinerLayout 是一樣的一種簡單高效的ViewGroup 。當單一使用這兩者無法實現效果時,需要嵌套時候,建議使用RelativeLayout.這是由于ViewGroup的嵌套就相當于增加了布局的層級,同樣會降低程序的性能。
第二種
采用 標簽<include>和標簽<merge> 還有ViewStub.
<include>標簽用于布局重用,一般和<merge>標簽配合使用, 可以減低布局層級。
ViewStub 主要是提供了按需加載的功能,當需要時才會將ViewStub的布局加載到內存中, 提高程序初始化效率。
<include>標簽的應用
<merge>標簽的應用
例如LinerLayout 水平 布局中 需要嵌套另一個 水平布局的LinerLayout 那么就可以用<merge>標簽代替。
ViewStub
ViewStub 繼承了View ,它是非常輕量級 而且 高/寬都是0,應為它本身不參與任何布局和繪制, 按需分配的,神馬意思呢,比如我們網絡加載異常的時候,這個時候需要加載進來。網絡正常時,沒有必要在整個界面進行初始化。
(ViewStub)findviewById(R.id.stub_import).setVisibility(View.VISIBLE);方法來初始化。
或者 View importPanel=((ViewStub)findviewById(R.id.stub_import)).inflate();
注意: 目前 viewStub 還不支持<merge>
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Android 性能优化——布局优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 性能优化——绘制优化
- 下一篇: Android性能优化——内存泄漏优化