常見面試題之ListView的複用及如何最佳化,試題listview複用

來源:互聯網
上載者:User

常見面試題之ListView的複用及如何最佳化,試題listview複用

經常有人問我,作為剛畢業的要去面試,關於安卓開發的問題,技術面試官會經常問哪些問題呢?我想來想去不能一股腦的全寫出來,我準備把這些問題單獨拿出來寫,並詳細的分析一下,這樣對於初學者是最有協助的。這次的第一個問題就是:ListView的複用及如何最佳化!

1、ListView的複用簡單來說就是使用ViewHolder複用convertView。說完大家尤其是初學者,沒看過源碼的同學不太明白。那我就舉一個例子,讓大家能夠明明白白。

例子如下:

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;

if (convertView == null) {

convertView = mInflater.inflate(R.layout.lv_item, null);

holder = new ViewHolder();

holder.textView = (TextView)convertView.findViewById(R.id.tv_text);

convertView.setTag(holder);

} else {

holder = (ViewHolder)convertView.getTag();

}

holder.textView.setText(mData.get(position));

return convertView;

}

}

public class ViewHolder {

public TextView textView;

}

2、如何進行最佳化呢?

①、如果item中有圖片一定要用非同步載入。而且裡面的圖片盡量要用縮圖或者小圖。

②、判斷手勢,快速滑動時不載入裡面的圖片。

③、要對資料進行分頁載入。

④、item的布局層級要越少越好。

3、如何檢查呢?

可以使用hierarchview工具查看其最佳化。

什麼是hierarchview?為什麼要用它呢?

不合理的布局會使我們的應用程式UI效能變慢,HierarchyViewer能夠可視化的角度直觀地獲得UI布局設計結構和各種屬性的資訊,協助我們最佳化布局設計。HierarchyViewer是我們最佳化程式的工具之一,它是Android內建的非常有用的工具,可以協助我們更好地檢視和設計使用者介面(UI),絕對是UI檢視的利器。

怎麼用它呢?

Hierarchy Viewer是隨Android SDK發布的工具,位於Android SDK/tools/hierarchyviewer.bat (Windows作業系統,mac上顯示的為hierarchyviewer),使用起來也是超級簡單,通過此工具可以詳細的理解當前介面的控制項布局以及某個控制項的屬性(name、id、height等)。

1)串連裝置真機或者模擬器。

2)啟動你要觀察的應用。

3)開啟Hierarchyviewer,點擊hierarchyviewer檔案即可。

說到這裡,我相信大家應該會對ListView的複用及最佳化有了一定的瞭解,如果在面試的過程中說出來,相信面試官應該會對你滿意的!

期待第二個題吧!

個人組織了一個高端Android交流群,有意向的可以先加我,我把你拉進去。保你學到更多知識,可以第一時間收到乾貨推送。


號:smart_android (←長按複製)

介紹:非著名程式員,字耿左直右,號澀郎,愛搞機,愛編程,是爬行在移動互連網中的一名碼匠!

個人號:loonggg

微博:澀郎

QQ群:413589216 更多資料和源碼盡在QQ群檔案

今日頭條:搜尋“非著名程式員”訂閱更多資訊

工作:專註於移動互連網的開發和研究,本號致力於分享IT技術和程式猿工作心得體會。歡迎大家關注與轉載。


常見面試題之ListView的複用及如何最佳化

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.