2017-02-10 6 views
0

아래의 기능을 API보다 큰 장치가 작동하지 않습니다 API보다 큰 장치에 대한 함수를 작성 (22)오류가 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) 

답변

0

당신은 당신을 깨닫는다 귀하의 요청이 2160 픽셀, 16777214 픽셀, 그리고 각 픽셀이 Bitmap.Config.ARGB_8888에 정의 된대로 4 바이트를 차지하게하여 144 기가 바이트 크기의 Bitmap을 요청하고 있습니다.

수학을 사용하면 2160 x 16777214 x 4 (144955128960 바이트)가됩니다. 이 장치가 작동하기를 기대하는 장치가 무엇인지는 분명하지 않습니다.

해결 방법 : 같은 큰 비트 맵을 만들지 마십시오.