我正在動態更新tablelayout,如下所示,其中我爲每個tableRow添加一個imagebutton和Textview。每當啓動我的活動時,它只顯示4行(實際應顯示10行),但如果我在代碼中保留斷點並慢慢地進行調試,以找出它正確顯示所有10行的問題。我懷疑它一定是代碼中的內存問題,因爲我從Web上獲取圖像,我覺得它需要大量內存。添加到佈局後,我嘗試釋放視圖內存,但它始終崩潰。
請讓我知道我做錯了。如何避免android中的內存泄漏
for (int i = 0; i < parsedExampleDataSet.getAppNameString().size(); i++)
{
TableRow row = new TableRow(this);
TextView tv = new TextView(this);
tv.setText("AppName: "+ parsedExampleDataSet.getAppNameString().get(i) +"\n" + "Description: " + parsedExampleDataSet.getDescriptionString().get(i));
ImageButton imgBtn = new ImageButton(this);
URL aURL = new URL(parsedExampleDataSet.getImageUrlString().get(i));
URLConnection conn = aURL.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
Bitmap bm = BitmapFactory.decodeStream(bis);
imgBtn.setImageBitmap(bm);
imgBtn.setBackgroundColor(color.transparent);
imgBtn.setTag(parsedExampleDataSet.getMarketLinkString().get(i));
bis.close();
is.close();
row.addView(imgBtn);
row.addView(tv);
table.addView(row,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); //here table is a tablelayout object
}
在此先感謝
Prathima
什麼是堆棧跟蹤? – Mudassir
你如何得到parsedExampleDataSet?它不是在單獨的線程中分析嗎?你是否試圖打印它的大小? – ania
@ania :: no在同一個線程中解析它。我力圖打印大小()。現在就做。謝謝 – Prathima