Open nickhowes99 opened 4 years ago
Here's the stack trace:
03-01 06:48:47.688 13728 13728 E AndroidRuntime: Process: com.driveweb.savvyPanel3, PID: 13728
03-01 06:48:47.688 13728 13728 E AndroidRuntime: java.lang.OutOfMemoryError
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.graphics.Bitmap.nativeCreate(Native Method)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:1095)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:1041)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:991)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.graphics.Bitmap.createBitmap(Bitmap.java:952)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at com.codename1.impl.android.b.a(AndroidGraphics.java:1498)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at com.codename1.impl.android.a$a$28.a(AndroidAsyncView.java:2465)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at com.codename1.impl.android.a$b.a_(AndroidAsyncView.java:149)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at com.codename1.impl.android.a.dispatchDraw(AndroidAsyncView.java:230)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:20819)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5132)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5104)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:20788)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5132)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5104)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:20788)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5132)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5104)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:20788)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5132)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5104)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:20788)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:5132)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:5104)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:20788)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:725)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:731)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:840)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewRootImpl.draw(ViewRootImpl.java:4035)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3798)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3100)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1963)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8719)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:988)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:765)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:700)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:967)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.os.Looper.loop(Looper.java:216)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7266)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
03-01 06:48:47.688 13728 13728 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
03-01 06:48:47.728 857 3927 D Debug : !@DumpState : SHIP
03-01 06:48:47.728 857 3927 D Debug : !@DumpState : debug level:0x4f4c
03-01 06:48:47.728 857 3927 D Debug : !@Dumpstate : Finally, system will skip dumpstate
03-01 06:48:47.730 857 3927 W ActivityManager: crash : com.driveweb.savvyPanel3,0
Please experiment with the android.maxBitmapSize
display property in your app until you find a value that doesn't crash.
e.g. In your init() method:
Display.getInstance().setProperty("android.maxBitmapSize", Math.max(CN.getDisplayWidth(), CN.getDisplayHeight())*2+"");
(The above example is the default value currently - 2 times the max of the device width and height. Try making it smaller).
I’m not sure how this relates to my code, or what to set the value to. (The graphics in my app are quite simple and small.)
I tried “2048” and I tried “512” - same result.
On Mar 2, 2020, at 6:41 AM, Steve Hannah notifications@github.com wrote:
Please experiment with the android.maxBitmapSize display property in your app until you find a value that doesn't crash.
e.g. In your init() method:
Display.getInstance().setProperty("android.maxBitmapSize", Math.max(CN.getDisplayWidth(), CN.getDisplayHeight())*2+"");
(The above example is the default value currently - 2 times the max of the device width and height. Try making it smaller).
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Try a ridiculously low value like "10" and see if you get the same result. If you do, and it's the same stack trace, then your setting isn't getting picked up
With “10”, the app seems to work as expected.
On Mar 2, 2020, at 7:18 AM, Steve Hannah notifications@github.com wrote:
Try a ridiculously low value like "10" and see if you get the same result. If you do, and it's the same stack trace, then your setting isn't getting picked up
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Can you see how "big" you can make it without crashing?
seems to work for “40” and fail for “50”
On Mar 2, 2020, at 7:41 AM, Steve Hannah notifications@github.com wrote:
Can you see how "big" you can make it without crashing?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
What android version are you testing on. Android handles bitmap memory management different in different versions so it is helpful to know the version.
Android version 9
On Mar 2, 2020, at 9:31 AM, Steve Hannah notifications@github.com wrote:
What android version are you testing on. Android handles bitmap memory management different in different versions so it is helpful to know the version.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Can you put together a self-contained test case that I can try to build?
I don't think so. As far as we know, the crash only happens for one particular test case.
With an NDA, I might be able to provide the source code of our app.
On Mar 2, 2020, at 9:46 AM, Steve Hannah notifications@github.com wrote:
Can you put together a self-contained test case that I can try to build?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
I can't take the whole app. I'd need a small test case. Something you could contain in a single class. The issue would be related to drawing paths, but I can't reproduce.
What are the negative implications of setting “android.maxBitmapSize” to “10”?
There are dozens of classes involved in generating the graphics in the app. I can’t see how I can give you a test case in a single class.
Maybe you could give me at least a vague idea of what the problem is? Why is it Android only? Why is it only for some cases (we’ve only seen one so far)?
The app makes heavy use of com.codename1.ui.geom.GeneralPath - are there some caveats about using it?
The graphic stuff is rendered in a similar manner in various apps. I’ve attached a graphics dump from one of these (not the CN1-based one). I might be able to do a similar dump within the CN1 app if that is useful?
Operator Panel(class com.driveweb.savvy.dvg.DPanel @2fc18da) DSymbol: 25c3b966 DObject: 90b2bd8, Percent bar meter panel tile 8190) dw240 C2a (, , ) DSymbol: 52c41c45 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 7cd5434a move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 4465cd3f move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: dw240 C2a DString: -29.60 % DShape: 3631c7c2 move to (36.0, 40.0) line to (156.0, 40.0) line to (156.0, 200.0) line to (36.0, 200.0) line to (36.0, 40.0) close DShape: 78201750 move to (46.0, 120.0) line to (146.0, 120.0) line to (146.0, 138.3238) line to (46.0, 138.3238) line to (46.0, 120.0) close DShape: 2e39c40d move to (45.0, 120.0) line to (147.0, 120.0) DShape: 44dfe8c0 move to (46.0, 138.3238) line to (146.0, 138.3238) DObject: 61e79077, Percentage meter panel tile 8190) dw240 C2b (, , ) DSymbol: 7ce8384e DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 40a3a14 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 64738f34 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: dw240 C2b DString: 69.82 % DShape: 5f51f292 move to (176.0, 120.0) cubic to (176.0, 164.18279; 140.18279, 200.0; 96.0, 200.0) cubic to (51.81722, 200.0; 16.0, 164.18279; 16.0, 120.0) cubic to (16.0, 75.81722; 51.81722, 40.0; 96.0, 40.0) cubic to (140.18279, 40.0; 176.0, 75.81722; 176.0, 120.0) close DShape: 62468b7e move to (96.0, 50.0) cubic to (118.061424, 50.0; 138.83192, 60.400223; 152.0484, 78.06462) cubic to (165.2649, 95.72902; 169.38065, 118.59031; 163.1546, 139.75497) line to (96.0, 120.0) close DShape: 37c9d7b8 move to (96.0, 120.0) line to (167.95137, 141.16605) move to (167.95137, 141.16605) line to (158.92227, 136.4252) line to (157.79343, 140.2626) line to (167.95137, 141.16605) DObject: 13a0f140, Percent bar meter panel tile 8190) dw240 C2c (, , ) DSymbol: 4f3be45a DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 1fae4a4d move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 49652fbd move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: dw240 C2c DString: 15.02 % DShape: 30e8553e move to (36.0, 40.0) line to (156.0, 40.0) line to (156.0, 200.0) line to (36.0, 200.0) line to (36.0, 40.0) close DShape: 20617e4d move to (46.0, 110.701904) line to (146.0, 110.701904) line to (146.0, 120.0) line to (46.0, 120.0) line to (46.0, 110.701904) close DShape: 4df0b42e move to (45.0, 120.0) line to (147.0, 120.0) DShape: 2d0872ea move to (46.0, 110.701904) line to (146.0, 110.701904) DObject: 54310f1a, Percentage meter panel tile 8190) dw240 C2d (, , ) DSymbol: 5f3b93d0 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 74031d6c move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 3c1a9606 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: dw240 C2d DString: -30.90 % DShape: 52eb3c4d move to (176.0, 120.0) cubic to (176.0, 164.18279; 140.18279, 200.0; 96.0, 200.0) cubic to (51.81722, 200.0; 16.0, 164.18279; 16.0, 120.0) cubic to (16.0, 75.81722; 51.81722, 40.0; 96.0, 40.0) cubic to (140.18279, 40.0; 176.0, 75.81722; 176.0, 120.0) close DShape: 51cd90d3 move to (96.0, 50.0) cubic to (76.55022, 50.0; 57.977306, 58.09226; 44.733883, 72.336754) line to (96.0, 120.0) close DShape: 3dc90ffb move to (96.0, 120.0) line to (41.072014, 68.932236) move to (41.072014, 68.932236) line to (47.03394, 77.20602) line to (49.757553, 74.27653) line to (41.072014, 68.932236) DObject: 434abaf, Percent bar meter panel tile 8190) dw240 C2e (, , ) DSymbol: 550b14e2 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 5e89535a move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 63ff1b50 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: dw240 C2e DString: -34.46 % DShape: 16bc7603 move to (36.0, 40.0) line to (156.0, 40.0) line to (156.0, 200.0) line to (36.0, 200.0) line to (36.0, 40.0) close DShape: 1b9dcc32 move to (46.0, 120.0) line to (146.0, 120.0) line to (146.0, 141.33238) line to (46.0, 141.33238) line to (46.0, 120.0) close DShape: f9a5f98 move to (45.0, 120.0) line to (147.0, 120.0) DShape: 1424e0a0 move to (46.0, 141.33238) line to (146.0, 141.33238) DObject: 598df776, Percentage meter panel tile 8190) dw240 C2f (, , ) DSymbol: 615d9049 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 14542c0c move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 49efd781 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: dw240 C2f DString: 73.33 % DShape: 7a7d0ffc move to (176.0, 120.0) cubic to (176.0, 164.18279; 140.18279, 200.0; 96.0, 200.0) cubic to (51.81722, 200.0; 16.0, 164.18279; 16.0, 120.0) cubic to (16.0, 75.81722; 51.81722, 40.0; 96.0, 40.0) cubic to (140.18279, 40.0; 176.0, 75.81722; 176.0, 120.0) close DShape: 77af0722 move to (96.0, 50.0) cubic to (119.21459, 50.0; 140.91908, 61.50903; 153.944, 80.72541) cubic to (166.9689, 99.94178; 169.6197, 124.365456; 161.02077, 145.92876) line to (96.0, 120.0) close DShape: 422e7197 move to (96.0, 120.0) line to (165.6651, 147.7808) move to (165.6651, 147.7808) line to (157.11725, 142.21896) line to (155.6356, 145.93443) line to (165.6651, 147.7808) DObject: 4d3327f6, Digital Meter panel tile 8186) C2a Time (, , ) DSymbol: 75cae58c DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 675a0626 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 68c39bf8 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DShape: 59d0edbe move to (10.0, 50.0) line to (182.0, 50.0) line to (182.0, 110.0) line to (10.0, 110.0) line to (10.0, 50.0) close DString: C2a Time DString: 4.1 DString: s DObject: 1126a895, Digital Meter panel tile 8186) C2b Time (, , ) DSymbol: 7b14858d DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 4c48d7ff move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 38a099d5 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DShape: 66c32e62 move to (10.0, 50.0) line to (182.0, 50.0) line to (182.0, 110.0) line to (10.0, 110.0) line to (10.0, 50.0) close DString: C2b Time DString: 0.6 DString: s DObject: 306e00cd, Digital Meter panel tile 8186) C2c Time (, , ) DSymbol: 3924f7da DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 33d9382e move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: f0b71b1 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DShape: 70c4fe0c move to (10.0, 50.0) line to (182.0, 50.0) line to (182.0, 110.0) line to (10.0, 110.0) line to (10.0, 50.0) close DString: C2c Time DString: 0.1 DString: s DObject: 66e67f1, Digital Meter panel tile 8186) C2d Time (, , ) DSymbol: 6ec04de9 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 14a20057 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 40706d8b move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DShape: 1713df17 move to (10.0, 50.0) line to (182.0, 50.0) line to (182.0, 110.0) line to (10.0, 110.0) line to (10.0, 50.0) close DString: C2d Time DString: 4.7 DString: s DObject: 5236ec5d, Digital Meter panel tile 8186) C2e Time (, , ) DSymbol: 7b506719 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 7f74709c move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 3c2b46cc move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DShape: 35c9dd39 move to (10.0, 50.0) line to (182.0, 50.0) line to (182.0, 110.0) line to (10.0, 110.0) line to (10.0, 50.0) close DString: C2e Time DString: 4.7 DString: s DObject: 76f0948e, Digital Meter panel tile 8186) C2f Time (, , ) DSymbol: 4d590c36 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 11f56591 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 770e5c45 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DShape: cd57788 move to (10.0, 50.0) line to (182.0, 50.0) line to (182.0, 110.0) line to (10.0, 110.0) line to (10.0, 50.0) close DString: C2f Time DString: 0.6 DString: s DObject: 36589af5, Enumerated Switch panel tile 8189) C2a Type (, , ) DSymbol: 968f298 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 330bd7c9 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 36624999 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: C2a Type DString: Triangle DObject: 11ac01ea (, , ) DSymbol: 5f9ecd75 DShape: 3246fcd0 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 16cc4580 (, , ) DSymbol: 5f9ecd75 DShape: 3246fcd0 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 671eb5e2 (, , ) DSymbol: 5f9ecd75 DShape: 3246fcd0 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 4ec22911 (, , ) DSymbol: 5f9ecd75 DShape: 3246fcd0 move to (0.0, -60.0) line to (0.0, -70.0) DShape: 4be7fc65 move to (156.0, 120.0) cubic to (156.0, 153.13708; 129.13708, 180.0; 96.0, 180.0) cubic to (62.862915, 180.0; 36.0, 153.13708; 36.0, 120.0) cubic to (36.0, 86.862915; 62.862915, 60.0; 96.0, 60.0) cubic to (129.13708, 60.0; 156.0, 86.862915; 156.0, 120.0) close DShape: 3f7340dc move to (146.0, 120.0) cubic to (146.0, 147.61424; 123.614235, 170.0; 96.0, 170.0) cubic to (68.385765, 170.0; 46.0, 147.61424; 46.0, 120.0) cubic to (46.0, 92.385765; 68.385765, 70.0; 96.0, 70.0) cubic to (123.614235, 70.0; 146.0, 92.385765; 146.0, 120.0) close DObject: 2d504375 (, , ) DSymbol: 72856d6f DShape: 675b38e move to (0.0, -35.0) line to (0.0, 35.0) DShape: 2325763c move to (0.0, -40.0) line to (6.0, -25.0) line to (-6.0, -25.0) close DObject: 43fc3220, Enumerated Switch panel tile 8189) C2b Type (, , ) DSymbol: cc1c2c6 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 55763824 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 7eb418c7 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: C2b Type DString: Sine DObject: 76a815bb (, , ) DSymbol: 747d2e5a DShape: 102e9fe9 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 4e82cf0b (, , ) DSymbol: 747d2e5a DShape: 102e9fe9 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 78311ead (, , ) DSymbol: 747d2e5a DShape: 102e9fe9 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 6523e00f (, , ) DSymbol: 747d2e5a DShape: 102e9fe9 move to (0.0, -60.0) line to (0.0, -70.0) DShape: 196ea95 move to (156.0, 120.0) cubic to (156.0, 153.13708; 129.13708, 180.0; 96.0, 180.0) cubic to (62.862915, 180.0; 36.0, 153.13708; 36.0, 120.0) cubic to (36.0, 86.862915; 62.862915, 60.0; 96.0, 60.0) cubic to (129.13708, 60.0; 156.0, 86.862915; 156.0, 120.0) close DShape: 59b4873b move to (146.0, 120.0) cubic to (146.0, 147.61424; 123.614235, 170.0; 96.0, 170.0) cubic to (68.385765, 170.0; 46.0, 147.61424; 46.0, 120.0) cubic to (46.0, 92.385765; 68.385765, 70.0; 96.0, 70.0) cubic to (123.614235, 70.0; 146.0, 92.385765; 146.0, 120.0) close DObject: 29802ed6 (, , ) DSymbol: 53d99071 DShape: 65ad1add move to (0.0, -35.0) line to (0.0, 35.0) DShape: 185dd40c move to (0.0, -40.0) line to (6.0, -25.0) line to (-6.0, -25.0) close DObject: 26cd6a06, Enumerated Switch panel tile 8189) C2c Type (, , ) DSymbol: 3083af4f DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 2f46fb36 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 22b077f1 move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: C2c Type DString: Sine DObject: 543b2a1f (, , ) DSymbol: 796f1e00 DShape: 61e8c550 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 40c63963 (, , ) DSymbol: 796f1e00 DShape: 61e8c550 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 4da088b6 (, , ) DSymbol: 796f1e00 DShape: 61e8c550 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 4c3e001c (, , ) DSymbol: 796f1e00 DShape: 61e8c550 move to (0.0, -60.0) line to (0.0, -70.0) DShape: 6bdb8e8e move to (156.0, 120.0) cubic to (156.0, 153.13708; 129.13708, 180.0; 96.0, 180.0) cubic to (62.862915, 180.0; 36.0, 153.13708; 36.0, 120.0) cubic to (36.0, 86.862915; 62.862915, 60.0; 96.0, 60.0) cubic to (129.13708, 60.0; 156.0, 86.862915; 156.0, 120.0) close DShape: 1aa7afb7 move to (146.0, 120.0) cubic to (146.0, 147.61424; 123.614235, 170.0; 96.0, 170.0) cubic to (68.385765, 170.0; 46.0, 147.61424; 46.0, 120.0) cubic to (46.0, 92.385765; 68.385765, 70.0; 96.0, 70.0) cubic to (123.614235, 70.0; 146.0, 92.385765; 146.0, 120.0) close DObject: 530b716d (, , ) DSymbol: 6f89a5f0 DShape: 5891e971 move to (0.0, -35.0) line to (0.0, 35.0) DShape: 7f6c2fc3 move to (0.0, -40.0) line to (6.0, -25.0) line to (-6.0, -25.0) close DObject: 546bdeb5, Enumerated Switch panel tile 8189) C2d Type (, , ) DSymbol: 77e4b95a DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 55e03473 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 2ed95df move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: C2d Type DString: Sine DObject: 1ce1b076 (, , ) DSymbol: 4e9df4d9 DShape: 1a0a12d5 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 74272f26 (, , ) DSymbol: 4e9df4d9 DShape: 1a0a12d5 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 655453d4 (, , ) DSymbol: 4e9df4d9 DShape: 1a0a12d5 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 44ce489b (, , ) DSymbol: 4e9df4d9 DShape: 1a0a12d5 move to (0.0, -60.0) line to (0.0, -70.0) DShape: e98666d move to (156.0, 120.0) cubic to (156.0, 153.13708; 129.13708, 180.0; 96.0, 180.0) cubic to (62.862915, 180.0; 36.0, 153.13708; 36.0, 120.0) cubic to (36.0, 86.862915; 62.862915, 60.0; 96.0, 60.0) cubic to (129.13708, 60.0; 156.0, 86.862915; 156.0, 120.0) close DShape: 430b3687 move to (146.0, 120.0) cubic to (146.0, 147.61424; 123.614235, 170.0; 96.0, 170.0) cubic to (68.385765, 170.0; 46.0, 147.61424; 46.0, 120.0) cubic to (46.0, 92.385765; 68.385765, 70.0; 96.0, 70.0) cubic to (123.614235, 70.0; 146.0, 92.385765; 146.0, 120.0) close DObject: 48607c1 (, , ) DSymbol: 323a1d5a DShape: 7fdcbe7e move to (0.0, -35.0) line to (0.0, 35.0) DShape: 6579000c move to (0.0, -40.0) line to (6.0, -25.0) line to (-6.0, -25.0) close DObject: 269679ff, Enumerated Switch panel tile 8189) C2e Type (, , ) DSymbol: 51f5bb6d DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 33c7acc4 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 2972db8c move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: C2e Type DString: Sine DObject: 4a6c7ce (, , ) DSymbol: 78742ae4 DShape: 765b08a2 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 494a035e (, , ) DSymbol: 78742ae4 DShape: 765b08a2 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 7b60250e (, , ) DSymbol: 78742ae4 DShape: 765b08a2 move to (0.0, -60.0) line to (0.0, -70.0) DObject: 229a138c (, , ) DSymbol: 78742ae4 DShape: 765b08a2 move to (0.0, -60.0) line to (0.0, -70.0) DShape: caa1165 move to (156.0, 120.0) cubic to (156.0, 153.13708; 129.13708, 180.0; 96.0, 180.0) cubic to (62.862915, 180.0; 36.0, 153.13708; 36.0, 120.0) cubic to (36.0, 86.862915; 62.862915, 60.0; 96.0, 60.0) cubic to (129.13708, 60.0; 156.0, 86.862915; 156.0, 120.0) close DShape: 15e3b35d move to (146.0, 120.0) cubic to (146.0, 147.61424; 123.614235, 170.0; 96.0, 170.0) cubic to (68.385765, 170.0; 46.0, 147.61424; 46.0, 120.0) cubic to (46.0, 92.385765; 68.385765, 70.0; 96.0, 70.0) cubic to (123.614235, 70.0; 146.0, 92.385765; 146.0, 120.0) close DObject: 6f51acba (, , ) DSymbol: 1da5c4af DShape: 41d8df47 move to (0.0, -35.0) line to (0.0, 35.0) DShape: 49a9f57a move to (0.0, -40.0) line to (6.0, -25.0) line to (-6.0, -25.0) close DObject: 459323f, Enumerated Switch panel tile 8189) C2f Type (, , ) DSymbol: 2bffb489 DShape: 6555714d move to (5.0, 30.0) line to (5.0, 230.0) quad to (5.0, 235.0; 10.0, 235.0) line to (182.0, 235.0) quad to (187.0, 235.0; 187.0, 230.0) line to (187.0, 30.0) close DShape: 184c8de5 move to (5.0, 30.0) line to (187.0, 30.0) line to (187.0, 10.0) quad to (187.0, 5.0; 182.0, 5.0) line to (10.0, 5.0) quad to (5.0, 5.0; 5.0, 10.0) close DShape: 1fe94b4c move to (170.0, 9.0) line to (180.0, 26.0) line to (160.0, 26.0) line to (170.0, 9.0) move to (170.0, 16.0) line to (170.0, 20.0) move to (170.0, 23.0) DString: C2f Type DString: Sine DObject: 19ed7fee (, , ) DSymbol: 4f60cba6 DShape: 333f440a move to (0.0, -60.0) line to (0.0, -70.0) DObject: 6659da0a (, , ) DSymbol: 4f60cba6 DShape: 333f440a move to (0.0, -60.0) line to (0.0, -70.0) DObject: 14b9db20 (, , ) DSymbol: 4f60cba6 DShape: 333f440a move to (0.0, -60.0) line to (0.0, -70.0) DObject: 5dcd1fea (, , ) DSymbol: 4f60cba6 DShape: 333f440a move to (0.0, -60.0) line to (0.0, -70.0) DShape: 141b1f4d move to (156.0, 120.0) cubic to (156.0, 153.13708; 129.13708, 180.0; 96.0, 180.0) cubic to (62.862915, 180.0; 36.0, 153.13708; 36.0, 120.0) cubic to (36.0, 86.862915; 62.862915, 60.0; 96.0, 60.0) cubic to (129.13708, 60.0; 156.0, 86.862915; 156.0, 120.0) close DShape: 3cba0e4e move to (146.0, 120.0) cubic to (146.0, 147.61424; 123.614235, 170.0; 96.0, 170.0) cubic to (68.385765, 170.0; 46.0, 147.61424; 46.0, 120.0) cubic to (46.0, 92.385765; 68.385765, 70.0; 96.0, 70.0) cubic to (123.614235, 70.0; 146.0, 92.385765; 146.0, 120.0) close DObject: 6600a222 (, , ) DSymbol: 5307d347 DShape: 1faa4f1d move to (0.0, -35.0) line to (0.0, 35.0) DShape: 730efad8 move to (0.0, -40.0) line to (6.0, -25.0) line to (-6.0, -25.0) close
On Mar 2, 2020, at 10:26 AM, Steve Hannah notifications@github.com wrote:
I can't take the whole app. I'd need a small test case. Something you could contain in a single class. The issue would be related to drawing paths, but I can't reproduce.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
In android, or at least some versions, it rasterizes paths before applying transforms, so it can result in some blurry rendering of paths if they are scaled to much by the transform. As a workaround, we check if the transform would more than double the size of the path, and instead pre-render it to an image, and draw the image.
When you are setting the "android.maxBitmapSize" property, you are putting a cap on the width and height of such temporary images. If you have a sufficiently low value on this, it will just not try the workaround and will just let Android render the path natively - which in some versions may be blurry.
I'm not sure if this is still the case in the latest android, but it is an issue on some versions (I don't recall which). The workaround was put in place 4 years ago, so it is possible Android "fixed" it on their end since that time.
We do use a lot of transforms applied to paths. And those transforms are constantly being updated.
On Mar 2, 2020, at 11:19 AM, Steve Hannah notifications@github.com wrote:
In android, or at least some versions, it rasterizes paths before applying transforms, so it can result in some blurry rendering of paths if they are scaled to much by the transform. As a workaround, we check if the transform would more than double the size of the path, and instead pre-render it to an image, and draw the image.
When you are setting the "android.maxBitmapSize" property, you are putting a cap on the width and height of such temporary images. If you have a sufficiently low value on this, it will just not try the workaround and will just let Android render the path natively - which in some versions may be blurry.
I'm not sure if this is still the case in the latest android, but it is an issue on some versions (I don't recall which). The workaround was put in place 4 years ago, so it is possible Android "fixed" it on their end since that time.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
1) get the (pre-beta) app here: https://driveweb.com/tech/alpha/ (in the 'savvyPanel for Android’ section).
2) install and launch
3) touch ‘drive web’ at the bottom left
2) touch discovery
3) pick ‘Internet Demo Devices’ and apply
The crash typically happens between a few seconds and a minute. Happens on all our Android test devices (two phones and a Samsung Tab A). Does not happen in the simulator or on iOS.