Java 为什么应用程序可以在API 19上工作,但不能在API 26上工作?目标API 28

Java 为什么应用程序可以在API 19上工作,但不能在API 26上工作?目标API 28,java,android,android-studio,android-sdcard,Java,Android,Android Studio,Android Sdcard,为什么应用程序可以在API 19上工作,但不能在API 26上工作?目标API 28 日志: 2018-10-24 23:09:57.577 10744-10744/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.guahoo.tarotoftheday17, PID: 10744 java.lang.OutOfMemoryError: Failed to allocate a 196247420 byte all

为什么应用程序可以在API 19上工作,但不能在API 26上工作?目标API 28

日志:

  2018-10-24 23:09:57.577 10744-10744/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.guahoo.tarotoftheday17, PID: 10744
java.lang.OutOfMemoryError: Failed to allocate a 196247420 byte allocation with 4194304 free bytes and 130MB until OOM
    at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
    at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1155)
    at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
   .....and further

你是否在应用程序中使用了图像?错误在于,当您的设备或模拟器上没有足够的内存时,会占用大量内存?要解决图像问题,请压缩图像大小,然后使用它。它会起作用的

是的,我会的。足够多的png格式。但是这个应用程序可以在模拟器和API19设备上运行。也许他没有任何权限?例如,要记录数据或使用日历?OutOfMemoryError错误表示它自己。您正在使用的某些内容的大小较大,这是导致错误的原因。谢谢,我将尝试减小图像的大小