gpt4 book ai didi

java - Android 应用程序内存使用率高

转载 作者:行者123 更新时间:2023-12-01 15:33:19 26 4
gpt4 key购买 nike

我有一个小应用程序,这个应用程序有七个 Activity ,基本上 6 个是带有图像的布局,一个是 MapActivity,5 个布局中的一个有一个内部类的 ArrayList,每次我使用我的应用程序时,内存都会增长到 50mb、70mb、111mb...我尝试调用垃圾收集器,但没有收到预期的结果。

public class GC 
{
public static final Runtime runtime = Runtime.getRuntime();

public static void Free()
{
runtime.gc();
}
}

最佳答案

看这里: Avoid memory leaks on Android

  1. 确保您正确关闭其他 Activity (this.finish)。
  2. 您需要删除对图像的回调,否则会泄漏内存。

    private void unbindDrawables(View view) {
    if (view.getBackground() != null) {
    view.getBackground().setCallback(null);
    }
    if (view instanceof ViewGroup) {
    for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
    unbindDrawables(((ViewGroup) view).getChildAt(i));
    }
    ((ViewGroup) view).removeAllViews();
    }

使用 View 的根调用它(即 unbindDrawables(findViewById(R.id.xml_layout_root));

关于java - Android 应用程序内存使用率高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9286614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com