如果用户不使用应用程序,则终止 Android 计时器(防止在后台运行)

编码器

Timer我的应用程序中有一个无限运行Animation. 像这样:

Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {

    @Override
    public void run() {
        runOnUiThread(new Runnable() {

            @Override
            public void run() {
                //Running Animation Code
            }
        });
    }
}, 1000, 1000);

现在我意识到即使用户点击Back Buttonandroid ,这段代码也会运行如果事实上它在后台运行并且似乎使用了大量内存。

我需要运行这段代码ONLY if user in the app事实上,当用户点击 时Back Button,这Timer会结束,如果用户点击Home Button,一段时间后该用户不使用该应用程序,则终止此Timer

我需要的是防止使用内存。因为我意识到如果这段代码运行一段时间,应用程序就会冻结!我需要一个正常的行为。

马可·帕卡克

如果您Activity是 中的最后一个元素BackStack,那么它将被置于背景中,就像您按下主页按钮一样。

如此,该onPause()方法被触发。

因此,您可以在那里取消动画。

@Override protected void onPause() {
    this.timer.cancel();
}

你也应该在onResume()方法中开始你的动画请注意,onResume()onCreate();之后也被称为 所以它甚至适合从应用程序冷启动开始动画。

@Override protected void onResume() {
    this.timer.scheduleAtFixedRate(...);
}

onPause()如果您从您的应用程序启动另一个应用程序(例如:铃声选择器),也会被调用。以同样的方式,当您返回您的应用程序时,onResume()将被触发。


无需在onBackPressed().

另外,在onStop()中停止动画有onDestroy()什么意义?

onPause()已经进去当您的应用程序进入后台时,动画将被取消并且不会使用那么多内存

不知道为什么我看到这么复杂的答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android在后台运行计时器

来自分类Dev

即使应用程序在后台,如何保持后台计时器在本机运行

来自分类Dev

在后台运行应用程序时未触发OS X Cocoa计时器

来自分类Dev

Swift-为iPhone应用程序在后台运行计时器的最佳方法

来自分类Dev

如何制作即使在后台模式下仍可以运行的计时器应用程序

来自分类Dev

是否可以运行countup计时器应用程序以在Windows Phone 7上在后台运行?

来自分类Dev

我希望我的计时器在后台运行,但是一旦它在后台android中运行,它就会停止

来自分类Dev

当应用程序在后台运行时,Android传感器会监听

来自分类Dev

Android Studio:倒数计时器,在关闭应用程序时也会运行

来自分类Dev

终止应用程序后继续运行计时器

来自分类Dev

应用关闭时在“后台”运行计时器

来自分类Dev

如何使Android应用程序始终在后台运行?

来自分类Dev

在后台运行应用程序时更改android活动?

来自分类Dev

在Android中杀死在后台运行的应用程序

来自分类Dev

如果我收到通知,Android 应用程序是否仍在后台运行?

来自分类Dev

如果应用程序关闭,android通知在后台?

来自分类Dev

如何按需运行后台服务-不在应用程序启动或计时器上运行

来自分类Dev

Android上的后台进程计时器

来自分类Dev

Xamarin Android后台计时器服务

来自分类Dev

Xamarin Android后台计时器服务

来自分类Dev

在后台运行计时器

来自分类Dev

Android短信应用无法在后台运行

来自分类Dev

Android短信应用无法在后台运行

来自分类Dev

应用进入后台或终止状态时如何运行计时器

来自分类Dev

如果我的应用程序在后台运行,为什么Android OS不会为singleTop活动创建新实例?

来自分类Dev

C#计时器(TimeSpan)始终在后台打勾(如果在不为真时应用语句)

来自分类Dev

如何防止我的计时器应用程序被iOS终止

来自分类Dev

Android 5.1使后台运行APP的速度变慢且计时器不精确

来自分类Dev

即使用户关闭了应用程序,是否也可以继续运行倒数计时器

Related 相关文章

  1. 1

    Android在后台运行计时器

  2. 2

    即使应用程序在后台,如何保持后台计时器在本机运行

  3. 3

    在后台运行应用程序时未触发OS X Cocoa计时器

  4. 4

    Swift-为iPhone应用程序在后台运行计时器的最佳方法

  5. 5

    如何制作即使在后台模式下仍可以运行的计时器应用程序

  6. 6

    是否可以运行countup计时器应用程序以在Windows Phone 7上在后台运行?

  7. 7

    我希望我的计时器在后台运行,但是一旦它在后台android中运行,它就会停止

  8. 8

    当应用程序在后台运行时,Android传感器会监听

  9. 9

    Android Studio:倒数计时器,在关闭应用程序时也会运行

  10. 10

    终止应用程序后继续运行计时器

  11. 11

    应用关闭时在“后台”运行计时器

  12. 12

    如何使Android应用程序始终在后台运行?

  13. 13

    在后台运行应用程序时更改android活动?

  14. 14

    在Android中杀死在后台运行的应用程序

  15. 15

    如果我收到通知,Android 应用程序是否仍在后台运行?

  16. 16

    如果应用程序关闭,android通知在后台?

  17. 17

    如何按需运行后台服务-不在应用程序启动或计时器上运行

  18. 18

    Android上的后台进程计时器

  19. 19

    Xamarin Android后台计时器服务

  20. 20

    Xamarin Android后台计时器服务

  21. 21

    在后台运行计时器

  22. 22

    Android短信应用无法在后台运行

  23. 23

    Android短信应用无法在后台运行

  24. 24

    应用进入后台或终止状态时如何运行计时器

  25. 25

    如果我的应用程序在后台运行,为什么Android OS不会为singleTop活动创建新实例?

  26. 26

    C#计时器(TimeSpan)始终在后台打勾(如果在不为真时应用语句)

  27. 27

    如何防止我的计时器应用程序被iOS终止

  28. 28

    Android 5.1使后台运行APP的速度变慢且计时器不精确

  29. 29

    即使用户关闭了应用程序,是否也可以继续运行倒数计时器

热门标签

归档