我已经在我的Application类中实现了onTrimMemory
和onLowMemory
方法,并且在我打印内存信息的每个活动的onCreate
方法中都实现了。
最后打印的值是
totalMem: 2812583936 ,availMem: 423661568 ,lowMemory: false ,threshold: 165477376
和 onLowMemory
方法没有调用,但是,当我尝试对活动进行分层时,应用程序崩溃了。
错误:
Throwing OutOfMemoryError "Failed to allocate a 230412-byte allocation with 10520 free bytes and 10KB until OOM"
我想查看内存是否不足,然后不要运行微光动画或骨架视图,而是从后堆栈中删除某些活动,或者强行运行GC以节省一些内存以避免发生。我怎样才能实现这个目标?我曾尝试使代码优化,但UI花哨且占用大量内存,但是层次结构仍然没有限制。我不希望该应用程序崩溃。任何想法都是可取的。 谢谢