据我所知,没有简单的方法可以实现这一点。我为一份广泛传播的全国性报纸制作了一个现实世界的应用程序:唯一的方法似乎是使用位图。他们对 iOS 设备使用服务器端 pdf,对 Android 设备使用 jpg 位图。
请记住,在 Android 中处理大位图是一件痛苦的事情。这就是 pdf 查看器以块的形式呈现它们的原因:如果在缩放模式下滚动太多,已经加载到内存中的高分辨率块将不断被垃圾收集和丢失。使用您选择的任何 pdf 实现(甚至 muPDF)对其进行测试。
一次 2 个位图(例如,首页和背面),分辨率约为 1200x800,会耗尽整个应用程序堆内存,从而导致臭名昭著的不可恢复的 OutOfMemory 异常。每个设备都有固定(和不同)数量的堆内存用于内存中的对象,并且也受到最大分配限制。
我的建议是:
节省您的时间并将实现更改为从 pdf 预渲染图像(如果可能,服务器端最好,或直接在设备上预渲染)并管理具有不同分辨率的低内存有限设备。
我是一名 Android 开发爱好者,但我一直在等待一些全 pdf 组件,它们可以完美地完成 iOS 设备已经完成的工作。祝你好运。
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |