제 애플리케이션에서는 레이아웃이 많이 사용되고 main.xml 파일에서 많은 것을 사용하고 있습니다. 이 xml을 contentview 어플리케이션으로 설정하면 충돌이 발생합니다. 그 전에 두 스플래시 화면이 있습니다. 그 spash 화면에서 나는> 200kb 크기의 두 이미지를 사용했습니다. 로그에서 일부 메모리 누수 문제가있을 수 있습니다.안드로이드 메모리 문제 - VM은 우리에게 2764800 바이트를 할당시키지 않을 것입니다.
09-06 03:26:14.749: E/GraphicsJNI(2212): VM won't let us allocate 2764800 bytes
09-06 03:26:14.788: D/AndroidRuntime(2212): Shutting down VM
09-06 03:26:14.788: W/dalvikvm(2212): threadid=1: thread exiting with uncaught exception (group=0x4001d7e0)
09-06 03:26:14.788: I/EXCEPOTION(2212): Aise
09-06 03:26:14.952: E/AndroidRuntime(2212): FATAL EXCEPTION: main
09-06 03:26:14.952: E/AndroidRuntime(2212): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jukte.forgivenessapplication/com.jukte.forgivenessapplication.Home}: android.view.InflateException: Binary XML file line #147: Error inflating class <unknown>
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.os.Handler.dispatchMessage(Handler.java:99)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.os.Looper.loop(Looper.java:123)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-06 03:26:14.952: E/AndroidRuntime(2212): at java.lang.reflect.Method.invokeNative(Native Method)
09-06 03:26:14.952: E/AndroidRuntime(2212): at java.lang.reflect.Method.invoke(Method.java:521)
09-06 03:26:14.952: E/AndroidRuntime(2212): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
09-06 03:26:14.952: E/AndroidRuntime(2212): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-06 03:26:14.952: E/AndroidRuntime(2212): at dalvik.system.NativeStart.main(Native Method)
09-06 03:26:14.952: E/AndroidRuntime(2212): Caused by: android.view.InflateException: Binary XML file line #147: Error inflating class <unknown>
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.LayoutInflater.createView(LayoutInflater.java:513)
09-06 03:26:14.952: E/AndroidRuntime(2212): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
09-06 03:26:14.952: E/AndroidRuntime(2212): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.app.Activity.setContentView(Activity.java:1647)
09-06 03:26:14.952: E/AndroidRuntime(2212): at com.jukte.forgivenessapplication.Home.onCreate(Home.java:142)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-06 03:26:14.952: E/AndroidRuntime(2212): ... 11 more
09-06 03:26:14.952: E/AndroidRuntime(2212): Caused by: java.lang.reflect.InvocationTargetException
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.widget.ScrollView.<init>(ScrollView.java:133)
09-06 03:26:14.952: E/AndroidRuntime(2212): at java.lang.reflect.Constructor.constructNative(Native Method)
09-06 03:26:14.952: E/AndroidRuntime(2212): at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.LayoutInflater.createView(LayoutInflater.java:500)
09-06 03:26:14.952: E/AndroidRuntime(2212): ... 22 more
09-06 03:26:14.952: E/AndroidRuntime(2212): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.graphics.Bitmap.nativeCreate(Native Method)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.graphics.Bitmap.createBitmap(Bitmap.java:468)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.graphics.Bitmap.createBitmap(Bitmap.java:435)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:340)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:488)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:462)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:323)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.content.res.Resources.loadDrawable(Resources.java:1709)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.View.<init>(View.java:1885)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.view.ViewGroup.<init>(ViewGroup.java:291)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.widget.FrameLayout.<init>(FrameLayout.java:83)
09-06 03:26:14.952: E/AndroidRuntime(2212): at android.widget.ScrollView.<init>(ScrollView.java:137)
09-06 03:26:14.952: E/AndroidRuntime(2212): ... 26 more
내가 무엇이 잘못되었는지 파악하지 못할 ... 도움을 주셔서 감사합니다 ......
모든 스플래시 화면 자산을 수동으로 삭제하고 가비지 수집기에 통지해야합니다. 하지만 코드를 보지 않고는 더 이상 알 수 없습니다. 당신이 사용하고있는 비트 맵의 크기는 어쩌면 32 비트가 아닌 16 비트 또는 8 비트 PNG로 만들 수 있습니까? – WIllJBD
실제로 16 비트 또는 8 비트로 변경해도 차이는 없습니다. 그것은 단지 파일 압축을위한 것입니다. 비트 맵으로 메모리에있는 한 비트 맵 구성과 비트 맵 크기 만 중요합니다. – mehmetminanc
다른 화면 크기에 대해 서로 다른 크기의 이미지를 사용해야한다고 막 게시하려고했습니다. 일반적으로 큰 화면에는 큰 힙이 있습니다. 또한 힙 크기를 얻고 힙 크기에 따라로드 할 이미지의 버전을 직접 선택할 수 있습니다. – WIllJBD