setDrawingCacheEnabled не работает на LinearLayout

Итак, в основном у меня есть следующий кусок кода:

  llPhotoTest.setDrawingCacheEnabled(false);
  llPhotoTest.setDrawingCacheEnabled(true);
  ... 
  llPhotoTest.getDrawingCache();

В первый раз все в порядке, но во второй раз кэшированная картинка остается прежней. Я видел много решений этой проблемы, но у меня ничего не работает. Буду признателен за любую помощь или предложение. заранее спасибо

Я пробовал:

llPhotoTest.setDrawingCacheEnabled(true);
llPhotoTest.getDrawingCache();
llPhotoTest.setDrawingCacheEnabled(false);

Тоже попробовал

llPhotoTest.buildDrawingCache();
llPhotoTest.getDrawingCache();
llPhotoTest.destroyDrawingCache();

Все та же картина:(

Есть макет границывведите описание изображения здесь

2 ответа

Решение

Спасибо всем! Я нашел решение, это была проблема.llPhotoTest.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

Из документации http://developer.android.com/reference/android/view/View.html:

Indicates that the view has a software layer. A software layer is backed by a bitmap and causes the view to be rendered using Android's software rendering pipeline, even if hardware acceleration is enabled.

Это не хороший способ отобразить растровое изображение.

Используйте ImageViewне LinearLayout и позвонить ImageView.setImageBitmap(Bitmap bm)

Другие вопросы по тегам