Я создал эмулятор с Android 2.2 Ядро и максимальный размер кучи VM = 24Mb
. Когда активность работает на нем, то LogCat шоу OutOfMemory ошибка:Ошибка Android Outofmemory, внешняя память
"861984-byte external allocation too larger for this process"
Могу ли я узнать, что делает «внешнее распределение» здесь означает? Это «внешняя память»? Этот запрос активности setContentView(R.layout.main)
.
Компоновка main.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/login_bg"
>
<ImageView
android:layout_width="190dp"
android:layout_height="50dp"
android:scaleType = "fitXY"
android:layout_gravity="center"
android:src="@drawable/login_btn_fb"
android:id="@+id/facebookconnect"/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility = "visible"
android:src="@drawable/splash"
android:scaleType = "fitXY"
android:id="@+id/splashscreen"
/>
</FrameLayout>
Размерность изображения splash.png является 640*960
Перед Honeycomb, данные пикселя изображения хранили в "родной памяти" , Is "native memory" так же, как "внешняя память"?
Я думаю, что вы используете объекты класса bitmap и bitmapfactory для отображения изображения в изображении. правильно? –
Нет. Я просто использую setContentView (R.layout.main) – Peter
, вы пытаетесь загрузить более одного изображения в imageview.right? Мог бы у отправить код. вы должны освободить объект изображения, каждый раз при загрузке нового изображения. –