androidlistview大數據
『壹』 android ListView 每個item載入大量的文本滑動會出現內存溢出咋辦咋辦
這個設計到listview優化問題。
首先,listview必須嚴格按照convertView及viewHolder格式書寫,這樣可以基本保證數據最優。
其次,如果自定義Item中有涉及到圖片等等的,一定要做圖片優化。bitmap釋放可以不做。
第三,盡量避免在BaseAdapter中使用static 來定義全局靜態變數,這個影響很大,static是Java中的一個關鍵字,當用它來修飾成員變數時,那麼該變數就屬於該類,而不是該類的實例。所以用static修飾的變數,它的生命周期是很長的,如果用它來引用一些資源耗費過多的實例(比如Context的情況最多),這時就要盡量避免使用了..
第四,盡量避免在ListView適配器中使用線程,因為線程產生內存泄露的主要原因在於線程生命周期的不可控制。
最後,如果上述你都做到的話,你的listview已經優化的很好了。針對你的問題,你的listview控制項高度是否設置為fill_parent,因為warp會導致listview滑動中無限計算自身高度。你的文本載入是否做過線程以及多次重復載入的問題處理。你的item中變數是否多次無限生成新的內存對象等等。
『貳』 android循環取ListView中的數據
首先要給item所在的對象設置上值
『叄』 android控制項listview怎樣顯示資料庫數據呢
先創建一個幫助類BaseHelper,繼承SQLiteOpenHelper,然後在獲得讀取的許可權,BaseHelper.getReadableDatabase();查詢:Cursor cursor = db.query(TABLE_NAME,str,null,null,null,null,null);,接著放到adapter裡面然後就顯示出來SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.showcontact, cursor, FROM, TO);
setListAdapter(adapter);。大概流程就這樣,具體看幫助文檔或者網路+google
『肆』 android listview怎麼更新數據
0、本質上是listview綁定Adapter,Adapter關聯List,因此List變化後導致Adapter同步變化;再通過調用adapter.notifyDataSetChanged();方法使得listview界面自動更新。
操作:
1、List<String> strName = new ArrayList<String>();//實際的數據源
2、Adapter adapter = new ArrayAdapter<String>(context,
R.layout.xmlforitem, strName);//適配器,其中 R.layout.xmlforitem是列表中每一項的布局,可以用默認的也可自建,strName則是將數據源綁定到適配器
3、listView.setAdapter(adapter);//將適配器綁定到列表顯示控制項ListView;
4、strName.add("TEST ONE");//增加一項,引起list變化,Adapter也隨之變化;
5、adapter.notifyDataSetChanged();//調用notifyDataSetChanged();更新適配器,ListView會自動刷新,notifyDataSetChanged()方法可能需要在UI線程中調用,建議自行測試;
6、數據增加可能引起內存變化,需防內存溢出;
7、其他。
以上僅供參考,建議多搜索相關文檔。
『伍』 android的ListView如何追加數據
listview的適配器adapter裡面調用additem(List)這樣的方法,如果沒有,就自己 寫一個,就是給adapter中的list追加數據而已,然後調用adapter的刷新就好了,esay