Java SD卡移除时的应用程序崩溃
我的应用程序具有android:installLocation=“preferExternal”。安装并启动应用程序后,将启动应用程序的后台服务。当我硬卸下SD卡时,应用程序崩溃,为应用程序类(扩展了android.app.application)提供了“ClassNotFoundException” 以下是错误日志: java.lang.RuntimeException:无法在加载器dalvik.system.PathClassLoader[/mnt/asec/com.com.sample-1/pkg.apk]中实例化应用程序com.sample.MyApplication:java.lang.ClassNotFoundException:com.sample.MyApplicationJava SD卡移除时的应用程序崩溃,java,android,memory,android-sdcard,Java,Android,Memory,Android Sdcard,我的应用程序具有android:installLocation=“preferExternal”。安装并启动应用程序后,将启动应用程序的后台服务。当我硬卸下SD卡时,应用程序崩溃,为应用程序类(扩展了android.app.application)提供了“ClassNotFoundException” 以下是错误日志: java.lang.RuntimeException:无法在加载器dalvik.system.PathClassLoader[/mnt/asec/com.com.sample-1
如何处理这一问题以避免崩溃?我认为您使用的将数据存储在外部存储SD卡中的应用程序,我认为是应用程序崩溃。甚至应用程序已安装在SD卡中,我认为,在尝试检索数据时,您的应用程序崩溃 相反,尝试通过转到应用程序的设置将应用程序从SD卡移动到手机存储器中。如果您声明“preferExternal”,则您请求将应用程序安装在外部存储器上,但系统不保证将应用程序安装在外部存储器上。如果外部存储器已满,系统将在内部存储器上安装它。用户还可以在两个位置之间移动应用程序 如果您声明“auto”,则表示您的应用程序可能安装在外部存储器上,但您没有安装位置的首选项。系统将根据几个因素决定在何处安装应用程序。用户还可以在两个位置之间移动应用程序。
对我来说似乎很明显。如果从运行应用程序的卡上卸下该卡,该如何继续?应用程序在运行时未整体加载到内存中。您正在删除安装了运行该应用程序的所有文件的媒体,是否明显会崩溃?只需将应用程序从设置移动到手机,然后重试。。