每个Android应用程序进程如何使用多个MapActivitiesMapViews

每个Android应用程序进程如何使用多个MapActivitiesMapViews,第1张

概述我写了一个MapActivity类,可以显示一组地点以及单个地方.在启动时,应用程序将创建此MapActivity的实例,并显示多个位置.如果用户点击某个地方,则会启动一个新的活动,显示所选地点的详细信息.此活动具有允许用户在地图上查看该地点的菜单项 – 这将导致创建MapActivity的新实例,但现在只显示此单个位置. 现在的问题是,如果用户导航返回到第一个MapActivity(显示多个地方 我写了一个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

总结

以上是内存溢出为你收集整理的每个Android应用程序/进程如何使用多个MapActivities / MapViews全部内容,希望文章能够帮你解决每个Android应用程序/进程如何使用多个MapActivities / MapViews所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1132219.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存