我的 Flutter 应用程序中有一些小部件,它们的样式在 Android 和 iOS 之间有所不同(我已经这样做了,我总是使用 Theme.of(context).platform)。
我正在使用旧的 MacBook Air 来构建我的 iOS 应用程序并使用它做了一些屏幕截图,但它们的分辨率太低,所以我想使用 Android 模拟器在我的 PC 上重做这些。
我可以调整一些东西并在 Android 模拟器上运行样式为 iOS 的应用程序,但不是调整我的代码,我可以传递一个命令行参数来告诉它作为 iOS 设备运行吗?
我只是希望该应用程序看起来就像在 iOS 设备上运行一样,以便截取一些屏幕截图。
我注意到我的应用程序中StackOverflow崩溃的数量有所增加,这些崩溃似乎都反映在Google Play服务地图上.我目前正在使用15.0.1版(com.google.android.gms:play-services-maps:15.0.1) - 但这是在两周前我还在使用15.0.0时开始的.有几次崩溃,但是当从地图代码(被混淆)处理Hashmaps或Arrays时,它们都会导致StackOverflows.崩溃的一些例子(我只是将堆栈跟踪复制到了模糊映射代码的位置):
Fatal Exception: java.lang.StackOverflowError: stack size 1038KB
at java.util.HashMap.remove(HashMap.java:617)
at com.google.maps.api.android.lib6.gmm6.util.e.d(:com.google.android.gms.dynamite_dynamitemodulesb@12685021@12.6.85 (040306-197041431):29)
Fatal Exception: java.lang.StackOverflowError
at java.util.ArrayList$ArrayListIterator.(ArrayList.java:551)
at java.util.ArrayList.iterator(ArrayList.java:548)
at java.util.Collections$UnmodifiableCollection$1.(Collections.java:953)
at java.util.Collections$UnmodifiableCollection.iterator(Collections.java:952)
at com.google.maps.api.android.lib6.common.i.iterator(:com.google.android.gms.dynamite_dynamitemodulesb@12685002@12.6.85 (000304-197041431):25)
Fatal Exception: java.lang.StackOverflowError: stack size 8MB
at java.util.HashMap.createEntry(HashMap.java:826)
at java.util.HashMap.addEntry(HashMap.java:813)
at java.util.HashMap.put(HashMap.java:436)
at com.google.maps.api.android.lib6.gmm6.util.e.b(:com.google.android.gms.dynamite_dynamitemodulesb@12685020@12.6.85 (040304-197041431):17)
Fatal Exception: java.lang.StackOverflowError: stack size 8MB
at java.util.HashMap.removeEntryForKey(HashMap.java:597)
at java.util.HashMap.remove(HashMap.java:584)
at com.google.maps.api.android.lib6.gmm6.util.e.d(:com.google.android.gms.dynamite_dynamitemodulesb@12685023@12.6.85 (040400-197041431):29)
Fatal Exception: java.lang.StackOverflowError: stack size 8MB
at java.util.ArrayList.(ArrayList.java:170)
at com.google.maps.api.android.lib6.common.i.(:com.google.android.gms.dynamite_dynamitemodulesb@12685020@12.6.85 (040304-197041431):9)
Run Code Online (Sandbox Code Playgroud)
我还在混淆的地图代码中直接进行了许多其他崩溃.
其他一些信息:地图不在我的应用程序的主流程中,因此只有大约8%的用户使用它 - 每天大约200个左右的呼叫.今天是迄今为止最严重的62次崩溃影响了13个用户 - 两天前它发生了42次崩溃,其他大多数时间我都没有崩溃.
受影响的操作系统版本:7.0,6.0.1,4.4.2,7.1.1,4.1.2,5.1,4.3
设备:三星,索尼,联想,Moto E3(无论是什么)和华为.
任何帮助或指针都会有用!