2013-07-12 7 views
1

На Android 4+ у меня есть простая линия «точка-точка», которая отлично рисует на Simulator, но не позволяет рисовать на основных устройствах (например, Samsung S3).android.graphics.Path не отображается на устройстве, но делает визуализацию на симуляторе

Это аппаратная ошибка? Ошибка ОС? Или что-то не так я делаю? Это две строки основного кода :(

Код:.

Path pathToPaint = new Path(currentlyDisplayingRoute.path); 
canvas.drawPath(pathToPaint, pathPaint); 

Simulator:

Путь рисует на экране в нужном месте в правильный цвет

Прибор:

Дорожка никогда не рисует

+1

Отключите ускорение GPU на устройстве и попробуйте. – faylon

+0

@faylon спасибо. Я проверил, и в документах Google Android об аппаратном ускорении не перечислены Path (Path) как один из методов «мы не удосужились его реализовать», но я думаю, что вы правы, что это кодовая страница HW-accel сломана. Ты поставил меня на правильный путь! – Adam

ответ

2

EDIT: Чтобы быть ясным: Да, это вызвано ошибками аппаратного ускорения. Но ... если я отключить аппаратное ускорение-я ударил других (основных) ошибки в реализации Android программного обеспечения Canvas :(.


ОК, так получается в ядро ​​Android класс «Путь» фундаментально broken :(.

Существует два конструктора. Один из этих конструкторов «не реализован» на аппаратном обеспечении. Это не документировано. Я бы счел это ошибкой showstopper - он не создает никаких предупреждений, ошибок, он просто ломается API и любые приложения, которые его используют: (

Этот конструктор: http://developer.android.com/reference/android/graphics/Path.html#Path%28android.graphics.Path%29

общественности Путь (Path ЦСИ) Добавлено в уровне API 1

Создать новый путь, копирование содержимого с пути Src.

... не должен использоваться. Вздох.

+0

Существует множество проблем при использовании аппаратного ускорения. Многие методы больше не могут использоваться. – faylon

+0

@faylon - Да :(До сих пор мне повезло, это первый раз, когда я столкнулся с проблемой со стандартными вызовами метода. Раньше у меня были проблемы с неясными/сложными функциями :(. – Adam

Смежные вопросы