save()和restore()成对的,仍然报Underflow in restore - more restores than saves

Android P
报错如下:
AndroidRuntime: java.lang.IllegalStateException: Underflow in restore - more restores than saves
AndroidRuntime: at android.graphics.Canvas.restore(Canvas.java:605)
AndroidRuntime: at com.android.launcher3.graphics.LauncherIcons.createIconBitmap(LauncherIcons.java:342)

查看LauncherIcons.java,restore之前有save操作
mCanvas.save();
mCanvas.scale(scale, scale, textureWidth / 2, textureHeight / 2);
icon.draw(mCanvas);
mCanvas.restore();

为什么还是报这个异常

追了下代码,restore方法被人改成直接抛异常了,暂时没有定位root case,用try catch 规避

https://blog.csdn.net/tingfengzheshuo/article/details/51706174