Растровое изображение из TextView (getDrawingCache) всегда равно нулю

Я пытаюсь извлечь растровое изображение, связанное с отображаемым экземпляром TextView, но всегда возвращает нулевое значение. Что я делаю не так? Должен ли я использовать textview.draw (canvas) вместо этого?

TextView textview = (TextView) findViewById(R.id.text_title); textview.setDrawingCacheEnabled(true); textview.buildDrawingCache(); Bitmap bmp = textview.getDrawingCache(); 

Solutions Collecting From Web of "Растровое изображение из TextView (getDrawingCache) всегда равно нулю"

Сделайте это до получения кэша чертежа, он решит проблему

view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());

А затем getDrawingCache() вернет растровое изображение и нарисует это растровое изображение на вашем холсте.

И если вы используете растровые изображения в своем приложении, предпочитайте очищать их из памяти, вызывая метод recycle (), чтобы растровые изображения очищались из памяти для вашей безопасной стороны, чтобы избежать outOfMemoryException

У Android максимальный размер кеша рисования. Если кеш чертежа будет больше, то getDrawingCache () возвращает значение null. См. Ответ на этот вопрос .

Вы можете найти обходной путь в ответе на этот вопрос .

 view.getDrawingCache(); 

должно быть:

 textview.getDrawingCache();