-
// 獲取納秒時間 更加精確 long start = System.nanoTime(); // 由于我們只需要將XML轉化為View,并不涉及到具體的布局,所以第二個參數通常設置為null View view = mLayoutInflater.inflate(R.layout.item, null); // 實例化控件 ImageView itemImage = (ImageView) view.findViewById(R.id.iv_image); TextView itemTitle = (TextView) view.findViewById(R.id.tv_title); TextView itemContent = (TextView) view.findViewById(R.id.tv_content); // 取出bean對象 ItemBean bean = mDataList.get(position); // 設置控件的數據 itemImage.setImageResource(bean.itemImageResid); itemTitle.setText(bean.itemTitle); itemContent.setText(bean.itemContent); long end = System.nanoTime(); long dValue = end - start; mSumTime += dValue; // 輸出每次getView消耗的時間和 Log.d("xys", String.valueOf(mSumTime)); return view;查看全部
-
文藝式查看全部
-
普通式查看全部
-
逗比式查看全部
-
BaseAdapter優化總結筆記查看全部
-
每次findViewById會浪費查看全部
-
沒有利用到ListView的緩存機制,造成浪費查看全部
-
BaseAdapter適配器的思路查看全部
-
ListView的緩存機制,需要時才顯示,顯示完就被回收到緩存查看全部
-
ViewHolder優化BaseAdapter 1.創建bean對象,用于封裝數據 2.在構造方法中初始化用于映射的數據源list 3.創建ViewHolder類,創建布局映射關系 4.判斷convertView,為空則創建,并設置tag,否則通過tag來取出ViewHolder 5.給ViewHolder中的控件設置數據查看全部
-
對于一些細微的程序比較效率用獲取系統納秒時間方法 關鍵代碼: long start =System.nanoTime(); ... long end =System.nanoTime(); long dValue=end-start; viewholder 作為findviewbyid的一個轉接,避免系統大量的遍歷提高效率。查看全部
-
文藝式查看全部
-
BaseAdapter文藝式查看全部
-
BaseAdapter文藝式 1、ViewHolder:getView()方法是利用了ViewHolder類,優化了inflate()和findViewById()的耗時操作。 (1)創建一個ViewHolder對象,通過ViewHolder對象,就將這些通過findViewById()找到的組件對象保存到了ViewHolder對應的組件對象中 (2)通過setTag()方法將這個viewHolder和當前的view建立聯系 //這樣就可以將沒有緩存過的View對象創建出來,并將其每個組件保存在ViewHolder對象中。 (3)當View不為空的時候就可以通過convertView.getTag()將它所關聯的viewHoloder對象取出。 (4)最后通過viewHolder中保存的組件對象設置當前的view對象 //通過ViewHolder類其實是優化了findViewById()的耗時操作查看全部
-
數據適配器查看全部
舉報
0/150
提交
取消