阅读完 Flutter 自述文件的所有 image_picker 插件后。
我担心这个:
处理MainActivity销毁 当内存压力较大时,Android 系统可能会使用 image_picker 终止应用程序的 MainActivity。在 Android 上,image_picker 使用默认的 Intent.ACTION_GET_CONTENT 或 MediaStore.ACTION_IMAGE_CAPTURE 意图。这意味着,当意图执行时,源应用程序将移至后台,并在系统内存不足时进行清理。当意图执行完成后,Android 将重新启动应用程序。由于数据永远不会返回到原始调用,请使用 ImagePicker.retrieveLostData() 方法来检索丢失的数据。
我明白这一点,我也实现了该插件,并且出于一些意图发生了这种行为。
我们应用程序的复杂性使得这种“恢复”对我们来说非常困难,因此我们正在寻找替代方案。
我们发现了另一个插件:CAMERA,使用起来有点复杂,但没有关于此问题的警告。
¿此插件(CAMERA)的任何用户都可以告诉我此插件是否没有 IMAGE_PICKER 所具有的“主要活动破坏”问题吗?
camera
不使用意图;它的所有 UI 都在您的应用程序内。这意味着该应用程序不在后台,因此不需要清理。
请记住,虽然在这种特殊情况下您将不再受到终止,但当使用您的应用程序的用户切换到另一个应用程序然后又返回到您的应用程序时,这将无济于事。如果您不实现状态恢复,则该常见用例将无法正常工作。