我需要使用android中的线程每秒增加一个数字

Posted

技术标签:

【中文标题】我需要使用android中的线程每秒增加一个数字【英文标题】:I need to increment a number every second using threads in android 【发布时间】:2020-01-20 03:13:30 【问题描述】:

这里我使用 Handler 来做,但它只会增加一个数字一次。我希望它增加数字,直到我使用 handler.removeCallbacksAndMessages(null); 停止它。

谁能指导我如何实现这一目标。我是安卓新手。

   Handler handler;
handler = new Handler();
 handler.postDelayed(new Runnable() 
                    @Override
                    public void run() 
                        count++;

                    
                , 1000);

【问题讨论】:

如果您退出应用程序,是否仍要运行该进程? 不,我在退出应用时不需要它 查看***.com/questions/29277367/… 【参考方案1】:

定义一个线程并启动它。

   Thread counterThread=new Thread(()->
            try
                while(true)
                counter++;
                Thread.sleep(1000);
                
            
            catch (Exception e)

            
        );
    counterThread.start();

而当你想停止这个线程调用counterThread.interrupt();

【讨论】:

【参考方案2】:

试试这个

Handler handler;
handler = new Handler();
handler.postDelayed(new Runnable() 
    @Override
    public void run() 
         count++;
         handler.postDelayed(this, 1000);
    
, 1000);

【讨论】:

【参考方案3】:

你可以

每秒重新运行可运行对象 使用 AlarmManager。

我建议您查看this link,以更深入地了解如何实现延迟发布或警报管理器以每 X 秒重复一次任务的多种方式。

编辑:我建议您在 onPause 方法中停止处理程序。

【讨论】:

以上是关于我需要使用android中的线程每秒增加一个数字的主要内容,如果未能解决你的问题,请参考以下文章

如何在 microsoft face api 中增加每秒事务限制?

硬件应用程序使用共享内存 (C++) 时需要互斥锁

android中每秒的Http请求

使用 JMeter 进行测试:如何每秒运行 N 个请求

如何在android中增加字母数字? [关闭]

C++ 中的游戏更新(线程或计时器)?