Android Cipher AES 加密内存泄漏

Android Cipher AES encryption memory leak

美好的一天。我在 class javax.crypto.Cipher 的应用程序中使用 CBC 模式 AES 加密。 使用 CBC,在加密任何下一部分数据之前,我们应该调用 cipher.init() 方法。我注意到这会导致内存不断增长。在某些设备上它是 "Unknown" 类型的内存,在其他设备上它是 "Native heap"。问题是内存在加密大文件时会增加,并且在完成后不会释放。我已经检查过,如果我在加密之前不调用 cipher.init() ,数据内存的任何部分都不会增长。加密后所有对象都被销毁。没有指向未使用对象的链接,尤其是在使用密码的地方。当加密视频大小为 1.5Gb 时,应用程序正在使用的结果内存大小约为 500Mb,如果再加密一个 1.5Gb 视频,它将变为 1Gb,系统会终止应用程序。 使用方法cipher.update()进行加密,方法ciper.doFinal()导致相同的情况[​​=11=]

非常感谢任何帮助

Android 5.0.x 好像是自己的问题。已报告 memory leak problem。查看这些链接以获取更多信息:

http://www.xda-developers.com/lollipop-memory-leak-fixed/

http://www.androidauthority.com/fix-lollipops-massive-memory-leak-coming-soon-ish-577101/

http://www.mobitechnews.com/android/-/asset_publisher/uNazsKHbfWdP/content/moto-g-android-5-0-2-lollipop-still-has-a-memory-leak-bug