每个Android应用程序/进程如何使用多个MapActivities / MapViews

前端之家收集整理的这篇文章主要介绍了每个Android应用程序/进程如何使用多个MapActivities / MapViews前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写了一个MapActivity类,可以显示一组地点以及单个地方.在启动时,应用程序将创建此MapActivity的实例,并显示多个位置.如果用户点击某个地方,则会启动一个新的活动,显示所选地点的详细信息.此活动具有允许用户在地图上查看该地点的菜单项 – 这将导致创建MapActivity的新实例,但现在只显示此单个位置.

现在的问题是,如果用户导航返回到第一个MapActivity(显示多个地方的地图),那么将遇到OutOfMemoryErrors不再加载图块.

根据Android JavaDocs,每个进程只能有一个MapActivity.但是,我不想将MapActivity定义为singleInstance / singleTask,因为用户应该始终能够导航回到显示多个地方的第一个MapActivity.

我看到Android的Google地方资讯应用程式(搭配Google Map 4.4)使用了多个MapActivity实例.这怎么可能?我的应用程序如何实现?

解决方法

According to the Android JavaDocs,it
is only possible to have one
MapActivity per class

它不是每个类的一个地图视图,它是每个进程.

众所周知,在一个进程中使用多个地图时可能会遇到一些问题.通常情况(您的应用程序在一个进程中运行),如果您没有配置任何特定的.
你可以使用你的清单中的android:process属性来分配你的acitivites:

<activity android:name=".activity.directory.MapView1" android:process=":MapView1">

<activity android:name=".activity.directory.MapView2" android:process=":MapView2">

这样您就可以在单独的进程中运行这些活动,如果不在活动中使用任何共享的静态变量,这些功能会很好.

另请参阅关于android bug跟踪器中的bug的讨论:

http://code.google.com/p/android/issues/detail?id=3756

原文链接:https://www.f2er.com/android/311640.html

猜你在找的Android相关文章