Объясните, как кэш рисунка работает в Android. Я реализую пользовательский подкласс Представления. Я хочу, чтобы мой рисунок кэшировался системой. В конструкторе Представления я звоню
setDrawingCacheEnabled(true);
Затем в ничьей (Холст c), я делаю:
Bitmap cac = getDrawingCache();
if(cac != null)
{
c.drawBitmap(cac, 0, 0, new Paint());
return;
}
Все же getDrawingCache()
пустой указатель возвратов мне. Мой draw()
не назван ни одним от setDrawingCacheEnabled()
, ни от getDrawingCache()
. Что я делаю неправильно?
Существует жесткое ограничение на размер кэша чертежей, доступное через класс ViewConfiguration. Мое представление больше, чем разрешено для кэширования.
К вашему сведению, исходные коды класса View доступны через SDK Manager для некоторых (не всех) версий Android.