2011-07-05 6 views
0

私のコードは私のモトローラドロイドに細かい動作しますが、私はエミュレータ上でそれを実行したときに、私は、このスタックトレースを取得:エミュレータでインフレの例外が発生しますが、私のドロイドでは発生しません。なぜですか?

07-05 14:29:23.035: ERROR/AndroidRuntime(237): Uncaught handler: thread main exiting due to uncaught  exception 
07-05 14:29:23.075: ERROR/AndroidRuntime(237): java.lang.RuntimeException: Unable to start activity  ComponentInfo{com.thinknao.wordlands/com.thinknao.wordlands.OptionsPage}:   android.view.InflateException: Binary XML file line #16: Error inflating class java.lang.reflect.Constructor 
07-05 14:29:23.075: ERROR/AndroidRuntime(237):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401) 
07-05 14:29:23.075: ERROR/AndroidRuntime(237):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417) 

07-05 14:29:23.075: ERROR/AndroidRuntime(237): Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class java.lang.reflect.Constructor 
07-05 14:29:23.075: ERROR/AndroidRuntime(237):  at android.view.LayoutInflater.createView(LayoutInflater.java:512) 
07-05 14:29:23.075: ERROR/AndroidRuntime(237):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
07-05 14:29:23.075: ERROR/AndroidRuntime(237):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562) 

07-05 14:29:23.075: ERROR/AndroidRuntime(237): Caused by: java.lang.reflect.InvocationTargetException 
07-05 14:29:23.075: ERROR/AndroidRuntime(237):  at android.widget.Button.<init>(Button.java:65) 

07-05 14:29:23.075: ERROR/AndroidRuntime(237): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
07-05 14:29:23.075: ERROR/AndroidRuntime(237):  at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 

答えて

1

それはあなたのコードとレイアウトを見ることなく正確には難しいですが、あなたはメモリが不足しています。これは、レイアウトファイルの16行目で参照されるビットマップオブジェクトの読み込みに関係しているように見えます。

非常に大きな画像ファイルを使用しているか、あなたはたくさんの画像を使っています。またはこれらの2つの組み合わせである。

エミュレータではなくDroidで動作する理由は、エミュレータが電話より少ないメモリで構成されている可能性が高いからです。エミュレータの設定は、AVDマネージャで変更できます。

+0

私はプロジェクトで多くのイメージを持っていますが、このページはオプションページです。それは最大10枚の画像しか持っていません。それらのどれも非常に大きいです – Robin

+0

アンドロイド2.1で動作しますが、1.6では動作しません。私は私のプロジェクトを遵守するように変更しなければならないと思います。 2.1はより多くのメモリをサポートしているのですか? – Robin

+1

OS自体はそれ以上のメモリをサポートしていません。イメージ処理は、より新しいバージョンではより効率的になり、古いハードウェアは新しいハードウェアよりもメモリが少なくなる可能性があります。 1.6以前は、http://developer.android.com/resources/dashboard/platform-versions.htmlに従ってデバイスの5%未満を占めています。 –

関連する問題