java - Android:如何在内存中创建和保存 map View 以供所有 Activity 使用

标签 java android static maps startup

我想减少我的应用程序中谷歌地图的启动时间。以一些内存为代价,我想在启动时创建 mapview,然后在任何需要它的 Activity 中使用它——它不会在应用程序运行时被销毁和重新创建。这可能吗?我看到的问题是,除非在布局中使用 mapview,否则它实际上不会初始化,并且随着用户在 Activity 之间移动,连续的布局会被破坏。

<com.google.android.gms.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map:cameraZoom="13"
    map:mapType="normal"
    map:uiZoomControls="false"
    map:uiRotateGestures="true"
    map:uiScrollGestures="true"
    map:uiZoomGestures="true"
map:uiTiltGestures="false" />

最佳答案

我看不出有任何理由,但我会在 Activity 的生命周期中搜索一些东西。为了实现你想要的东西,你需要获取 map /Activity 的当前状态并将其保存在 onPauseonDestroy 方法中。然后在 onCreateonResume 你可以检查你是否有任何保存的状态,如果是,使用你自己的逻辑恢复它但是在 map 和本地化的情况下我不认为它是好主意

关于java - Android:如何在内存中创建和保存 map View 以供所有 Activity 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31563102/

相关文章:

java - 悬停JavaFX ScrollBar的增量按钮时的细线

java - Thymeleaf 选择标签导致异常

java - 不可序列化父类的可序列化子类

android - 在 Activity Android 中实现 LoaderCallbacks

java - Android库类的静态变量的生命周期是多少?

java - 在子目录中创建 jar 文件时出现 NoClassDefFoundError

java - 使用 Java 创建 PDF 文件

java - 在 Android Studio 中获取 json 数据的问题

c++ - 使用静态函数初始化 static const int

java - 线程是否创建静态变量的多个实例