我的Android应用程序中有一个位图缓存,其位图通过SoftReference引用.然而,位图过早被淘汰.缓存中最多可以有20个位图,如果我加载更多,GC开始使SoftReferences为空.没有SoftReferences,我可以在缓存中有大约110位图.在OutOfMemoryError发生之前,SoftReference不应该为null吗?
不,这种含义相反:
在抛出OutOfMemoryError之前,保证Java运行时将使SoftReferences(如果有)无效.但是,它不保证SoftReference仅在此条件下才会被取消.
| 归档时间: |
|
| 查看次数: |
424 次 |
| 最近记录: |