使用Flutter image_picker,我们必须处理MainActivity销毁,寻找替代方案

xxe27gdn  于 2023-11-21  发布在  Flutter
关注(0)|答案(1)|浏览(156)

在阅读所有的image_picker插件的Flutter自述文件。
我对此感到关切:

  • 处理MainActivity销毁**在内存压力较大时,Android系统可能会使用image_picker杀死应用的MainActivity。在Android上,image_picker使用默认的Intent.ACTION_GET_CONTENT或MediaStore.ACTION_IMAGE_CAPTURE intents。这意味着当intent正在执行时,源应用程序被移动到后台,并且在系统内存不足时有资格进行清理。Intent完成执行后,Android将重新启动应用程序。由于数据永远不会返回到原始调用,因此请使用ImagePicker.retrieveLostData()方法来检索丢失的数据。*

我明白这一点,我也实现了插件,并与一些意图这种行为发生。
我们的应用程序的复杂性使得这种“恢复”对我们来说非常困难,所以我们正在寻找替代方案。
我们发现了另一个插件:CAMERA,使用起来稍微复杂一些,但没有关于这个问题的警告。
请问这个插件的任何用户(相机)告诉我,如果这个插件没有这个'主活动破坏'的问题,图像_PICKER有?

cmssoen2

cmssoen21#

camera不使用Intent;它的所有UI都在应用程序中。这意味着应用程序不在后台,因此不需要清理。
请记住,虽然在这种特定情况下,您将不再受到终止的影响,但当使用您的应用的人切换到另一个应用,然后再回到您的应用时,这将不会有帮助。如果您不实现状态恢复,则该常见用例将无法正常工作。

相关问题