我正在开发一个显示贸易展览会平面图的应用程序。这是高分辨率(3500x4600),但文件大小(400kb)很小的PNG图片。我有一个小组件可以平移/缩放它。
现在这一切在iOS上都可以正常工作,但是在Android上我无法使其正常工作。如果我只是尝试将其加载到常规RN(0.56)图像组件中,则会出现黑屏。我正在HTC One M8上进行测试,这不是全新的,但也不是超低端的(2 GB Ram)。有趣的是,如果将其转换为具有相同尺寸的2,6 MB jpg,它会显示出来,尽管质量太差了,您无法阅读任何标签。
关于此问题,存在一些最老的github问题(例如here和here),但这些解决方案(android:largeHeap="true"
)都不适合我。
我尝试使用react-native-svg
,但存在相同的问题(我想它最终会被光栅化吗?)。
我还尝试使用react-native-fast-image
,它在幕后使用Glide代替了Facebook的Fresco,但是(您猜对了),它也不起作用。如果我只是加载图像,它将被缩减采样(比jpg差)。我试图让Glide停止这样做(使用override
),但随后又出现了黑屏。
我找到了this library,我想它确实可以满足我的要求,但是我必须将其包装起来以供RN使用...这将需要很多工作。
有人有主意吗?