WebView и GridView в ScrollView, слишком большой вид, чтобы поместиться в кеш чертежа
У меня есть проблема с памятью макета. Когда у меня большой веб-просмотр, он ничего не показывает, а logcat показывает "Вид слишком большой, чтобы поместиться в кеш чертежа".
Макет:
<ScrollView
android:id="@+id/scrollNoticia"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ficha_curva"
android:layout_below="@+id/linea"
android:scrollbars="none"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="12dp"
>
<WebView
android:id="@+id/webViewNoticia"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none"
/>
<GridView
android:id="@+id/gridGaleria"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/webViewNoticia"
android:horizontalSpacing="4dp"
android:verticalSpacing="4dp"
android:numColumns="4" >
</GridView>
</RelativeLayout>
</ScrollView>
2 ответа
Попробуйте отключить аппаратное ускорение: http://developer.android.com/guide/topics/graphics/hardware-accel.html
См. WebView в ScrollView: "Просмотр слишком большой, чтобы поместиться в кэш чертежа" - как переработать макет? для получения дополнительной информации.
Ни WebView, ни GridView не должны быть встроены в представление прокрутки. WebView может прокручиваться самостоятельно, когда размер контента превышает размер экрана, и GridView тоже. Нормальным образом GridView просто создает столько дочерних представлений, сколько видимых. Как только представление исчезнет с экрана, оно будет использовано повторно. Поэтому, если вы встраиваете GridView в ScrollView, возможно, вы ошибетесь в шаблоне повторного использования.