Я пишу «очень длинную прокрутку». Основной элемент игры - ScrollView, который я заполняю «блоками».Android - Получение OutOfMemory при заполнении ScrollView
Один "блок" выглядит следующим образом:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/sec3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/_40" />
</LinearLayout>
(.jpg, 720x6000) размер изображения, является 800-900kb. я заполняю мой Scrollview со следующим кодом (для одного типа изображений):
View block_3 = inflater.inflate(R.layout.block_3, null);
for (int i = 0; i != Blocks.block_20; i++) { //Filling the LinearLayout in ListView with 20 blocks
LinLayout_in_ScrollView.addView(block_3, layout_params);
}
Но мое приложение аварий с OutOfMemory ошибки. Я попытался использовать ListView вместо ScrollView, но я потерпел неудачу. Я думал о динамической загрузке элементов в ScrollView, но это будет очень сложно сделать. Итак, как я могу избежать исключения OutOfMemoryException?
P.S. Извините за мой английский, пожалуйста.
вам нужно использовать 'ListView' –
Вы должны использовать' ListView' с 'LazyLoading'. Что вы имеете в виду, когда вы использовали «ListView»? Вы получаете ошибки? –