?

Log in

No account? Create an account

Предыдущая версия | Обновление

Как всегда инженеры Google жгут. В Android 3.0 Google полностью переделал систему рендеринга и добавили параметр hardwareAccelerated, который включает поддержку графического ускорителя, тем самым позволяя графике рисоваться быстрее, но в результате наблюдается забавный эффект. При включении hardwareAccelerated до версии 4.х перестали работать функции:



  • Canvas.clipPath
  • Canvas.clipRegion
  • Canvas.drawPicture
  • Canvas.drawPoints
  • Canvas.drawPosText
  • Canvas.drawTextOnPath
  • Canvas.drawVertices
  • Paint.setLinearText
  • Paint.setMaskFilter
  • Paint.setRasterizer


И ладно бы они пометили их как Depricated, или кидали Exception по этому поводу, так нет же. Никакой подсказки разработчикам кроме записи в блоге, что оно так работает.


А теперь хинт. Если ваш компонент при отрисовке использует указанные выше методы, то для обеспечения нормальной работы на всех устройствах рекомендуется при создании исполнить следующий код.


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB && 
    Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
    setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}

TODO's:

История версий

Октябрь 2015
Вс Пн Вт Ср Чт Пт Сб
    123
45678910
11121314151617
18192021222324
25262728293031
Разработано LiveJournal.com
Designed by Katy Towell