Android 安卓系统在Nexus5上最小化我的应用程序进程时正在扼杀它
我创建了一个简单的应用程序,它具有在后台显示新闻和播放音乐的功能。问题是:所有测试设备的应用程序都可以正常工作,但在带有Android 5.0.1系统的Nexus 5上,当我的应用程序进程被最小化(按下主页按钮)时,它会被杀死,音乐会被关闭,当我取消动画化时,应用程序会重新启动。我可以通过以下步骤几乎100%地复制它: 1) 在我的应用程序中按home。2) 打开Gmail客户端。3) 通过单击电子邮件中的链接打开web浏览器,浏览一些繁重的网站。 我的应用程序不使用大堆标志或一些重图片。我建议这样做是因为手机内存已经用完了。我已经安装了来自市场的第一个应用程序,请求“内存使用”。在关闭我的应用程序后,它将在Nexus 5上显示下一步: 总容量:1856Mb,可用容量:429Mb,输入容量:156Mb,输出容量:842Mb,总容量:219Mb, 低:没有 我并没有低估这个值(429+156+842+219=1646,而不是1856),但看起来内存足够了 我不明白为什么手机上的系统内存为2Gb,只有很少的运行应用程序会杀死几分钟前使用过的小应用程序,而且——在后台播放音乐,但在旧设备上一切正常,或者可能是我做错了什么 UPD。清单文件:Android 安卓系统在Nexus5上最小化我的应用程序进程时正在扼杀它,android,android-lifecycle,Android,Android Lifecycle,我创建了一个简单的应用程序,它具有在后台显示新闻和播放音乐的功能。问题是:所有测试设备的应用程序都可以正常工作,但在带有Android 5.0.1系统的Nexus 5上,当我的应用程序进程被最小化(按下主页按钮)时,它会被杀死,音乐会被关闭,当我取消动画化时,应用程序会重新启动。我可以通过以下步骤几乎100%地复制它: 1) 在我的应用程序中按home。2) 打开Gmail客户端。3) 通过单击电子邮件中的链接打开web浏览器,浏览一些繁重的网站。 我的应用程序不使用大堆标志或一些重图片。我建议
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxxxx">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<application
android:allowBackup="true"
android:name=".xxxxxx"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="xxxxxx" />
<activity
android:name=".activity.LauncherActivity"
android:theme="@style/Theme.Launcher"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.MainActivity"
android:screenOrientation="portrait" />
</application>
</manifest>
如果您的应用程序正在播放音乐,我假设您正在播放音乐并在服务上执行操作,请让此服务获得前台优先级,例如 这样,除非世界末日,整个系统崩溃,否则系统不会停止您的服务:)
不过有一点需要注意的是,拥有前台服务需要一个持久的通知,例如,您在其中有一个关闭此服务的按钮。请发布manifest.xml文件。可能相关:和