Java 大于API 22的设备的位图创建函数出错

Java 大于API 22的设备的位图创建函数出错,java,android,bitmap,android-6.0-marshmallow,Java,Android,Bitmap,Android 6.0 Marshmallow,以下函数不适用于API 22以上的设备 Bitmap bm = Bitmap.createBitmap(2160, 16777214, Bitmap.Config.ARGB_8888); 错误日志: W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Bitmap.setHasAlpha(boolean)' on a null object

以下函数不适用于API 22以上的设备

 Bitmap bm = Bitmap.createBitmap(2160, 16777214, Bitmap.Config.ARGB_8888);
错误日志:

W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Bitmap.setHasAlpha(boolean)' on a null object reference
02-10 11:01:37.478 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.graphics.Bitmap.createBitmap(Bitmap.java:835)
02-10 11:01:37.478 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.graphics.Bitmap.createBitmap(Bitmap.java:808)
02-10 11:01:37.478 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.graphics.Bitmap.createBitmap(Bitmap.java:775)
02-10 11:01:37.478 6473-6473/com.mazzmedia.daitem1 W/System.err:     at com.controller.activities.SplashScreenActivity.onCreate(SplashScreenActivity.java:51)
02-10 11:01:37.478 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.app.Activity.performCreate(Activity.java:6248)
02-10 11:01:37.478 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1125)
02-10 11:01:37.478 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2437)
02-10 11:01:37.478 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2544)
02-10 11:01:37.479 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.app.ActivityThread.access$900(ActivityThread.java:150)
02-10 11:01:37.479 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
02-10 11:01:37.479 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
02-10 11:01:37.479 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.os.Looper.loop(Looper.java:168)
02-10 11:01:37.479 6473-6473/com.mazzmedia.daitem1 W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5845)
02-10 11:01:37.479 6473-6473/com.mazzmedia.daitem1 W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
02-10 11:01:37.479 6473-6473/com.mazzmedia.daitem1 W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
02-10 11:01:37.479 6473-6473/com.mazzmedia.daitem1 W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)

您确实意识到,您要求的是一个144 GB大小的位图,要求的高2160像素,宽16777214像素,每个像素占用4个字节,如
Bitmap.Config.ARGB_8888
所定义

通过数学运算,得到2160 x 16777214 x 4,等于144955128960字节。我不清楚你希望它在哪种设备上工作

解决方案:不要创建这么大的位图