第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

哪些Android工具和方法最適合查找內(nèi)存/資源泄漏?

哪些Android工具和方法最適合查找內(nèi)存/資源泄漏?

森林海 2019-08-03 03:03:26
哪些Android工具和方法最適合查找內(nèi)存/資源泄漏?我已經(jīng)開(kāi)發(fā)了一個(gè)Android應(yīng)用程序,我的手機(jī)應(yīng)用程序開(kāi)發(fā)的時(shí)候,一切看起來(lái)都很好,你想宣布勝利和出海,但你知道,那里必須有一些內(nèi)存和資源泄漏;在Android上只有1600萬(wàn)b堆,而且它顯然很容易在Android應(yīng)用程序中泄漏。我一直在尋找,到目前為止,只能挖掘‘hprof’和‘traceview’的信息,沒(méi)有得到很多好評(píng)。您遇到或開(kāi)發(fā)了哪些工具或方法,并希望在OS項(xiàng)目中共享這些工具或方法?
查看完整描述

3 回答

?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

如果您只是使用位圖背景,那么@hp.android的答案很好,但是,在我的例子中,我有一個(gè)BaseAdapter提供一套ImageViewS代表aGridView..我修改了unbindDrawables()方法,以便條件是:

if (view instanceof ViewGroup && !(view instanceof AdapterView)) {
  ...}

但是問(wèn)題是,遞歸方法從不處理AdapterView..為了解決這一問(wèn)題,我做了以下工作:

if (view instanceof ViewGroup) {
  ViewGroup viewGroup = (ViewGroup) view;
  for (int i = 0; i < viewGroup.getChildCount(); i++)
    unbindDrawables(viewGroup.getChildAt(i));

  if (!(view instanceof AdapterView))
    viewGroup.removeAllViews();}

使孩子們AdapterView仍然被處理-該方法只是不嘗試刪除所有的子級(jí)(這是不支持的)。

然而,這并不能完全解決這個(gè)問(wèn)題,因?yàn)?/trans>ImageViewS管理一個(gè)不是他們背景的位圖。因此,我補(bǔ)充如下。這并不理想,但有效:

if (view instanceof ImageView) {
  ImageView imageView = (ImageView) view;
  imageView.setImageBitmap(null);}

總體上unbindDrawables()方法是:

private void unbindDrawables(View view) {
  if (view.getBackground() != null)
    view.getBackground().setCallback(null);

  if (view instanceof ImageView) {
    ImageView imageView = (ImageView) view;
    imageView.setImageBitmap(null);
  } else if (view instanceof ViewGroup) {
    ViewGroup viewGroup = (ViewGroup) view;
    for (int i = 0; i < viewGroup.getChildCount(); i++)
    unbindDrawables(viewGroup.getChildAt(i));

    if (!(view instanceof AdapterView))
      viewGroup.removeAllViews();
  }}

我希望有一個(gè)更有原則的方法來(lái)釋放這些資源。




查看完整回答
反對(duì) 回復(fù) 2019-08-05
  • 3 回答
  • 0 關(guān)注
  • 300 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)