问题标签 [timertask]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 AppWidgetProvider 中调用 onUpdate()?
这是我的代码...
我只想在单击 R.id.update 时更新 widget_title 和 widget_textview 它应该运行函数 getString 从其他类中获取字符串,以便可以将新字符串传递给 textview ...
任何想法?
android - Android 中的 Timer 和 TimerTask
我的程序需要一个计时器。我已经编写了它,它在模拟器程序(Android 1.5/2.2)中的 PC 上运行良好。但它不适用于真实设备(Android 1.5)。我究竟做错了什么?
java - 如何在运行时更改 TimerTask 的执行周期?我
如何在运行时更改 Timer 的周期?
android - 如何在固定时间间隔后重复执行异步任务
如何让异步任务在某个时间间隔后重复执行,就像定时器一样...实际上我正在开发一个应用程序,它将自动从服务器下载所有最新的未读问候语,为此我必须在一些修复后检查来自服务器的更新时间间隔....我知道这可以通过计时器轻松完成,但我想使用我认为对 android 应用程序更有效的异步任务。
android - Android:使用 AsyncTask 进行重复 Ajax 调用的含义
我需要我的 Android 应用程序使用 AJAX 调用定期从服务器获取数据,并相应地更新 UI(只是一堆TextView
需要更新的 s setText()
)。请注意,这涉及 2 个任务:
- 进行 AJAX 调用,并在收到响应后更新 UI - 我为此使用了一个简单
AsyncTask
的方法。 - 定期重复上述操作。
我还没有想出一个优雅的方法来实现上面的第 2 点。目前,我只是从OnPostExecute()
. 我在 SO 的这个线程上读到,就AsyncTask 对象而言,我不必担心垃圾收集。
但是我仍然不确定如何设置一个计时器,它会在我的 AsyncTask 到期后触发它。任何指针将不胜感激。这是我的代码:
}
提前致谢
编辑:我尝试发布答案但无法做到,因为我没有在 8 小时内回答的声誉。
好吧,所以我找到了解决方案。然而我并不相信。
当我使用它时,是否有任何反面需要注意?特别是,我看到 LogCat 中发生了很多 GC。另外,我想知道
AsyncTask
除非完成,否则如何成为 GC 的候选人onPostExecute()
?如何“停止”更新?我想到的一种方法是将第一个
AsyncTask
实例作为Activity
. 这样,我可以调用cancel(true)
它并希望这将“停止”任务。
解决方案:
如果有人正在寻找类似的东西 - 我在这里提到的解决方案都不能令人满意。他们都饱受OutOfMemory
问题之苦。我没有调试 OOM 的细节,但我怀疑这可能是因为递归,或者因为 HTTP 相关对象作为成员变量AsyncTask
而不是成员Activity
(基本上是因为没有重用 HTTP 和其他对象)。
我放弃了这种方法,换了一种方法——使我的 Ajax 调用无休止地出现在doInBackground()
我的AsyncTask
; 并在onProgressUpdate()
. 这样我也避免了维护太多线程或Handler
更新 UI 的开销(记住 UI 可以在 中更新onProgressUpdate()
)。
这种方法也消除了对Timer
s 和TimerTask
s 的需要,而倾向于使用 of Thread.sleep()
。SO上的这个线程也有更多细节和代码片段。
java - 如何正确使用 Java 中的 Timer 和 TimerTask 方法在画布上创建一个不断摆动的移动对象?
我正在尝试创建一个使用画布绘制位图的 2D 游戏,这些位图是游戏中的对象。目前,我在屏幕上来回移动对象时遇到问题(对象的名称是目标。)我尝试使用 Timer 和 TimerTask 作为使其工作的手段,以及创建一个新的处理程序,但没有似乎工作。游戏运行时,您可以看到目标在指定像素上移动一次(这是一个重复的时间,使它移动。)然后应用程序崩溃给我(对不起!-强制关闭对话框。我做错了什么?
MainActivity代码(不是很重要,只是触发有问题的GameActivity): package app.AngryCannonShooterActivity;
这是我的 GameActivity 代码:
android - 如何将定期定时器任务更改为动态定时器任务
我正在构建一个无线电流应用程序。我需要根据曲目变化更新用户界面。我有回调时间,我需要知道如何实现要实现的动态定时器任务。
- 获取回电时间
- 添加回调时间延迟
- 获取回电时间
- 添加回调时间延迟
这基本上就是我想要做的。有人可以告诉我这样做的优雅方式吗?
android - TimerTask Android 蓝牙
我正在实现一个在 Android 启动时启动的服务,它应该每 10 分钟扫描一次附近的蓝牙设备。当它发现设备时,它会做一些工作。此外,这种定期扫描应该在设备开启的整个过程中进行。我正在尝试安排 TimerTask,但我不明白如何使用它。我猜它应该启动这个服务并让服务完成工作,而不是在 TimerTask 的 run 方法中编写代码?我将如何从 TimerTask 启动服务,因为这似乎是解决我的问题的最简单方法,但 TimerTask 是 java.util 的一部分,而不是 Android 的类之一。
我刚刚找到了 Android 的 AlarmManager。我应该用那个吗?它可以启动服务吗?
到目前为止,我有这个,但我需要帮助:
myHandler.postDelayed(r,10 分钟); } }
r.run(); }
onDestroy()
{
super.onDestroy();
myHandler.removeCallback(r);
}
} 类 MyService 扩展服务 { }
抱歉,我不明白这里的格式是如何工作的。
我需要覆盖服务中的 onDestroy() 吗?我在哪里使用 stopService() ?
android - 延迟动作和广播接收器
我有一个案例,我必须在设备连接电源N 秒后开始一些非 UI 操作。该操作也可以由用户通过 UI 启动。
我在AndroidManifest.xml中定义了一个 BroadcastReceiver ,它监听ACTION_POWER_CONNECTED。
我有一项服务需要对onStartCommand采取行动。我的问题是 - 如果广播触发操作,启动该服务的正确方法是什么?
我有两个选择:
一次性计时器任务。但是我认为这可能是错误的,因为根据文档,我无法从 BroadcastReceiver 启动任何异步任务。
重新设计服务:
- 在onStartCommand开始操作,如果操作是由用户触发的
- 启动计时器任务并在计时器拍摄时执行操作 - 与 1 中的逻辑相同。但在服务内部 - 如果操作是由广播触发的。
我倾向于 2。它会使代码更复杂一些,但它似乎是唯一正确的方法。
-列夫
android - Android:计划重复的 TimerTask 只被触发一次
好的,这是我遇到的一个非常奇怪的问题,我很确定我在某个地方搞砸了,但我不太清楚在哪里。
我正在尝试的是-
- 安排 a每五秒
Timer
执行一次TimerTask
TimerTask
依次执行一个(在这种AsyncTask
情况下,它简单地休眠一秒钟,然后返回 AsyncTask 数量的静态计数)。- 最后,上述计数在 UI 中更新。
当然,适当Handler
的 s 和Runnable
s 已用于将来自其他线程的异步消息发布到 UI。
此代码只执行一次。我希望它每 5 秒触发一次。这是代码。
注意:我不知道如何处理Looper
. 经过反复试验,我把它放在那里!
谁能指出我做错了什么?