我在我的应用中使用SupportStreetViewPanoramaFragment
和SupportMapFragment
。这方面的布局非常简单,只是FrameLayout
充当容器,我在运行时添加这些片段。第一个经典地图片段,当用户点击街景视图按钮时,我会在其上添加SupportStreetViewPanoramaFragment
。
在很多设备上,它的表现非常好,但在很少的设备上我遇到了错误。当我在FragmentTransaction中添加StreetView片段时,它根本不会呈现,在某些设备上,它会以非常慢的速度呈现黑屏。当我尝试通过从容器中删除StreetView片段来回到映射时,会导致以下cat输出崩溃
06-19 12:20:01.937 4636-4636/com.modryandel.debug E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at android.view.SurfaceView.updateWindow(SurfaceView.java:473)
at android.view.SurfaceView.access$000(SurfaceView.java:86)
at android.view.SurfaceView$2.onScrollChanged(SurfaceView.java:137)
at android.view.ViewTreeObserver.dispatchOnScrollChanged(ViewTreeObserver.java:607)
at android.view.ViewRoot.draw(ViewRoot.java:1367)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1264)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1865)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
我发现当我离开活动时街景片段打开并且没有渲染,之后回到活动我已经将街景视图渲染得很好但是崩溃仍在发生。
在发生这种情况时测试手机: Galaxy Ace GT-S5830i Android 2.3.6 HTC One X Android 4.0.3 三星Galaxy S2,S3 Android 4.1.2
我确信这些手机的Play服务版本为4.4。+,因为我在开始时检查它。
有没有人遇到类似的行为?提前谢谢。