Почему я не могу принудительно отобразить одно из своих представлений в программном обеспечении?

В пользовательском представлении, которое у меня есть, я использую Canvas.drawBitmap с исходным растровым изображением, ширина которого превышает 2048 пикселей. Это, конечно, вызывает проблемы при включенном аппаратном ускорении, когда LogCat выдает «W/OpenGLRenderer(4968): Bitmap слишком большой для загрузки в текстуру» каждый раз при вызове drawBitmap

. Чтобы обойти это, я попытался вызвать . ] setLayerType(View.LAYER_TYPE_SOFTWARE, null)на мой взгляд. Единственная проблема в том, что это не помогает. Когда я пытаюсь запустить свое приложение, LogCat по-прежнему выдает предупреждения, и ничего не рисуется

Я не могу понять, почему это так.В этой статье на сайте Androidчетко сказано:

Вы можете отключить аппаратное ускорение для отдельного представления во время выполнения с помощью следующего кода:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

Я что-то делаю не так? Почему Android не соблюдает вызов setLayerType?


[если это важно: я провожу тестирование на Samsung Galaxy Tab 10.1 под управлением Android 3.2]

6
задан yydl 12 April 2012 в 23:02
поделиться