【发布时间】:2018-10-10 14:14:57
【问题描述】:
我正在尝试将 base64 格式的 pdf 解码为 Android 应用程序中的字节数组。这是我的代码:
byte[] documentByte = Base64.decode(pdfBase64, Base64.DEFAULT);
这在大多数情况下都可以,但我收到了一份崩溃报告,其中似乎内存不足。另外,这个操作在启动应用程序时执行了很多次(我有一个包含大约 500 个文档的列表),所以我认为,即使对于不会崩溃的设备,以某种方式优化这个操作也会很好。
阅读后发现,有些人在编码的时候,将字节数组分割,不完全存储在内存中,不知道能不能解码。
有什么方法可以提高这个操作的性能(并尽量避免内存问题)?
【问题讨论】:
-
你真的在启动应用时加载了500个文档吗?只是不要这样做!
-
@maaartinus 这不是我能改变的,这是客户需要的。无论如何,这是一个极端的情况,通常不会发生,但我必须牢记这一点。你知道有什么解决办法吗?
标签: java android performance base64