Android - 当我的 Activity 即将抛出 OutOfMemory 异常时是否有任何回调?

标签 android memory-management

我有一个 ViewFlipper,在它的每个 subview 中,我在上面放置了一个位图。问题是我担心我的应用程序(特别是 Activity)将耗尽内存并抛出 (OutOfMemory) 异常。

我想捕获“OutOfMemory”异常,但这已经太晚了......

我想在我的 Activity “关于内存不足”时实现一些回调方法(例如,如果我再分配 2 个或 3 个位图,它将耗尽内存)。

我们是否可以实现任何方法,以便我可以释放其中一些加载的位图?如果我的应用程序仍然有足够的内存来保存位图,我不想释放位图。

提前致谢!

最佳答案

您可以验证此时系统的可用内存

How do I discover memory usage of my application in Android?

在 android 4.1 中,新的 ComponentCallbacks2 常量(例如 TRIM_MEMORY_RUNNING_LOW 和 TRIM_MEMORY_RUNNING_CRITICAL)在系统调用 onLowMemory() 之前为前台进程提供有关内存状态的更多信息。

关于Android - 当我的 Activity 即将抛出 OutOfMemory 异常时是否有任何回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11515776/

相关文章:

android - 如何使用 ACTION_OPEN_DOCUMENT_TREE Intent 获取真实路径?

android - Admob、Adsense 地址(PIN)验证问题

C++ 程序无错退出。如何调试?

memory-management - GPU 访问系统 RAM

android - Android 4.0 ICS中调用音频流修改

java - androidx.security 依赖问题

c# - 我应该使用 ReAllocHGlobal 还是 FreeHGlobal/AllocHGlobal?

c++ - 编译器如何为类分配内存?

java - 线程永远保留引用

android - 尝试从 ArrayList 中删除对象时崩溃