Исключение из-за недостатка canvas.restore (), если saveCount> 0 на Android 8 - PullRequest
0 голосов
/ 10 октября 2018

Я получаю сообщения об ошибках от пользователей, использующих Android 8, где происходит сбой приложения из-за исключительных ситуаций при переполнении при вызове canvas.restore().

Странно то, что я был уверен, что каждый вызов canvas.restore() следует за балансирующим вызовом на canvas.save(), и я все еще получал эти ошибки, я заменял каждый вызов на restore() вызовом следующей функции:

public void saveRestore(Canvas canvas) {
    if (canvas.getSaveCount() > 0)
        canvas.restore();
}

Насколько я понимаю, canvas.restore() толькодолжен выдавать исключение, когда canvas.getSaveCount() равно 0. Но исключение все равно выбрасывается.

Эта проблема затрагивает около 7% всех пользователей и только на Android 8. Я не смог воспроизвести проблемуя, так что любые идеи и идеи приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...