记android解压文件的bug

127 阅读1分钟

java.lang.OutOfMemoryError

Failed to allocate a 1048592 byte allocation with 685016 free bytes and 668KB until OOM, max allowed footprint 536870912, growth limit 536870912--- theme: github

接手里了一个老android开发的项目,一个多任务下载zip,下载以后解压zip的功能。使用SevenZFile解压文件,因为把SevenZFile添加到map里面,相当于把SevenZFile保存在内存里面,导致解压完成后得不到释放,最后导致内存泄漏,下载任务多起来就会崩溃。找了很久的原因,刚开始还以为是解压的过程,优化了多处地方都没解决,最后才发现这个原因。