java - 从内存中删除 View

标签 java android view memory-leaks

我使用 XMl 中定义的 4 个 View 来在应用程序启动时执行动画,但在动画完成后,我想释放位图正在使用的内存。我怎样才能做到这一点?截至目前,完成后, View 已设置为 GONE,但它们仍然占用内存。

最佳答案

你必须回收位图,然后你必须释放堆中分配的内存:

if (view.getBackground() != null) {
    try {
        view.getBackground().setCallback(null);
        ((BitmapDrawable) view.getBackground()).getBitmap().recycle();
        view.destroyDrawingCache();
        view.notifyAll();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

关于java - 从内存中删除 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32648881/

相关文章:

java - 词搜索 : two string arrays in alphabetical order using merge sort

java - 获取由@PropertySource 加载的文件的名称

android - Flutter Android Build Failed : com. android.tools.r8.CompilationFailedException: 编译未能完成

ios - iOS中有没有可以重新加载当前View的方法?

java - 按下按钮后显示用户输入

java - 在 Java EE 中将 http 重定向到 https

java - 使用 Jbutton 更新 JLabel 整数值

android - 从 Web 开发到 Android 开发

具有不同 subview 的 Android Listview

php - 在 PHP 中显示和链接外键内容