从android活动启动模式singleTask

从android活动启动模式singleTask,android,android-activity,manifest,Android,Android Activity,Manifest,我添加到一个活动android:launchMode=“singleTask”以避免内存消耗问题(说明:该活动包含位图&假设我在后台有该活动,当我通过广播接收到意图并打开该活动时->我有两个相同的活动由于位图而消耗内存) 但现在我有另一个问题,即活动是主要活动,因此每次单击应用程序图标都会重新启动应用程序(在没有此属性的情况下,单击应用程序图标将使应用程序的当前活动显示在前面) 我怎么能逃脱呢?在发送意图时,我还尝试了一些标志组合。。但是没有多大成功。这可能会对你有所帮助

我添加到一个活动
android:launchMode=“singleTask”
以避免内存消耗问题(说明:该活动包含位图&假设我在后台有该活动,当我通过广播接收到意图并打开该活动时->我有两个相同的活动由于位图而消耗内存)


但现在我有另一个问题,即活动是主要活动,因此每次单击应用程序图标都会重新启动应用程序(在没有此属性的情况下,单击应用程序图标将使应用程序的当前活动显示在前面)

我怎么能逃脱呢?在发送意图时,我还尝试了一些标志组合。。但是没有多大成功。

这可能会对你有所帮助

          notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_SINGLE_TOP);

看看这不是一个解决方案,因为启动器正在启动他的活动,而不是@pulancheck1988本身。所以,是的,我尝试过:从manifest&intent.setFlags(intent.FLAG_activity_CLEAR_TOP | intent.FLAG_activity_SINGLE_TOP | intent.FLAG_activity_NEW任务)中删除属性。。我还需要标记\u ACTIVITY\u NEW\u TASK else大错误,因为我从broadcastreceiver启动活动..&从应用程序因outOfMemory而崩溃的角度来看,所有这些组合都不起作用(这就是为什么我添加了android:launchMode=“singleTask”。。内存中没有两个相同活动的实例)
          notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_SINGLE_TOP);