推动android按钮“recents”后的活动生命周期创建新活动但不破坏旧活动

时间:2017-02-21 20:39:07

标签: java android activity-lifecycle on-location-changed

当我按下android按钮“recents”并再次选择我的应用程序返回de app时,MapsActivity的生命周期再次执行onCreate并创建一个新的MapsActivity实例。

没关系,但旧的MapsActivity仍然在后台运行,这是一个问题,因为MapsActivity都有计数器并且仍在运行,并且在相同的变量中使用不同的值进行计数,例如独立的新变量。

计数器位于onLocationChanged()并称为“clock”。 onLocationChanged()自动更新5秒。

例如: 计数器正在运行:1,2,3,4,5 ...... 此时我按下android按钮“最近”(系统执行onCreate) 计数器仍然像那样运行:6,1,7,2,8,3 ...... 此时再次按下android按钮“最近”(执行onCreate) 计数器仍然像那样运行:9,4,1,10,5,2,11,6,3,......

我认为MapsActivity的生命周期不会破坏旧的活动。

我只需要运行一个顺序计数器,我猜旧的MapsActivity必须死掉:)

任何解决我问题的想法?非常感谢!

下面的

console.log(posts)

layout activity_maps.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.sasse.myapplication">

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name=".MapsActivity"
            android:label="@string/title_activity_maps">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Maps_activity

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.sasse.myapplication.MapsActivity" />

1 个答案:

答案 0 :(得分:0)

尝试使用launchMode =&#34; singleTop&#34;活动