2011-11-18 61 views
-1

我有一個Android頁面方含3幅圖像的背景和編輯文本和按鈕,清單文件中的活動式給出:Android應用程序崩潰與方向的變化

<activity 
    Android:name="SearchScreen" 
    > 
</activity> 

我有兩個XML一個potrait和另一景觀。 當朝向改變是沒有問題的第一部分的變化,但,當它頻繁地改變一些時間的應用程序崩潰和錯誤看起來這

> Android.view.InflateException on orientation change 

,並給予一定的虛擬機的內存越界。

和錯誤日誌就像波紋管

11-21 15:09:55.832: E/AndroidRuntime(32448): FATAL EXCEPTION: main 
    11-21 15:09:55.832: E/AndroidRuntime(32448): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.af.screenmanager/com.af.screenmanager.SearchScreen}: android.view.InflateException: Binary XML file line #61: Error inflating class <unknown> 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:2853) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.app.ActivityThread.access$1600(ActivityThread.java:121) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:947) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.os.Handler.dispatchMessage(Handler.java:99) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.os.Looper.loop(Looper.java:130) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.app.ActivityThread.main(ActivityThread.java:3701) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at java.lang.reflect.Method.invokeNative(Native Method) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at java.lang.reflect.Method.invoke(Method.java:507) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at dalvik.system.NativeStart.main(Native Method) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): Caused by: android.view.InflateException: Binary XML file line #61: Error inflating class <unknown> 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.createView(LayoutInflater.java:518) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.inflate(LayoutInflater.java:408) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.support.v4.app.FragmentActivity.setContentView(FragmentActivity.java:304) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at com.af.screenmanager.SearchScreen.onCreate(SearchScreen.java:131) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): ... 12 more 
    11-21 15:09:55.832: E/AndroidRuntime(32448): Caused by: java.lang.reflect.InvocationTargetException 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at java.lang.reflect.Constructor.constructNative(Native Method) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at java.lang.reflect.Constructor.newInstance(Constructor.java:415) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.LayoutInflater.createView(LayoutInflater.java:505) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): ... 24 more 
    11-21 15:09:55.832: E/AndroidRuntime(32448): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:494) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:370) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:715) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.content.res.Resources.loadDrawable(Resources.java:1720) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.content.res.Resources.getDrawable(Resources.java:585) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:162) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:805) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:746) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.content.res.Resources.loadDrawable(Resources.java:1705) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.view.View.<init>(View.java:1975) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.widget.TextView.<init>(TextView.java:370) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.widget.Button.<init>(Button.java:108) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): at android.widget.Button.<init>(Button.java:104) 
    11-21 15:09:55.832: E/AndroidRuntime(32448): ... 27 more 


與索尼李寧公司的Xperia此錯誤ocurs僅

+1

添加logcat的數據。 – Shaireen

+0

發佈您的代碼...! – Noby

+0

android.view.InflateException將意味着您在代碼中的inflater中遇到異常 – 2011-11-18 07:26:34

回答

1

添加到您的活動清單中下面的代碼

<activity android:name="SearchScreen" 
android:configChanges="orientation|keyboardHidden" 
android:screenOrientation="portrait" android:windowSoftInputMode="stateAlwaysHidden"> 
</activity> 

你可以也使用Async任務來實現這一點。

0

如果你在你的佈局重位圖試圖要求他們回收的活動的onDestory方法

@Override 
public void onDestroy(){ 
    ImageView imageViewWithHeavyBitmap = (ImageView)findViewById(R.id.imageview); 
    imageViewWithHeavyBitmap.getDrawable().getBitmap().recycle(); 
}