android-handler相关内容

HandlerThread 优于其他类似类的最佳使用

我试图了解使用 HandlerThread 的最佳用例. 根据定义: “用于启动具有 looper 的新线程的便捷类.looper 可用于创建处理程序类.请注意,仍然必须调用 start()." 我可能错了,但我可以通过使用 Thread、Looper 和 Handler 实现类似的功能.那么什么时候应该使用HandlerThread?举个例子会很有帮助. 解决方案 这是 ..
发布时间:2022-01-30 13:17:36 移动开发

Android AsyncTask [无法在未调用 Looper.prepare() 的线程内创建处理程序]

我基于一个函数创建了一个图像上传AsyncTask.上传后,我在 onPostExecute() 上收到此错误.我在 Runnable 上阅读了一些 StackOverflow 的答案,但尽管实施了不同的解决方案,但我仍然一遍又一遍地得到错误. 我的代码: class uploadFile extends AsyncTask{私人 ProgressDialog pDialog;/*** - ..

AsyncTaskLoader 基本示例.(安卓)

我在我的应用程序中使用了一个加载器,根据我从使用这个加载器对联系人执行的查询中得到的结果,我执行了一些计算并将它们存储回 Sqlite 数据库中.我希望这个操作是异步的,但是我在使用异步任务之间感到困惑,因为我有很多不同的数据类型要返回,或者我应该使用简单的处理程序还是 AsyncTaskLoader,我希望它很简单,因为我是新手装载机.我试图四处搜索 AsyncTaskLoader 的示例,但似 ..
发布时间:2022-01-07 22:02:03 移动开发

如何从 asynctask 更新 ui

我已经看到很多关于如何执行此操作的示例,但我无法弄清楚如何在我的代码中实现它. 我正在使用这个代码. 我已经更新了 url,所以它会收到一个带有动态数据的 json.我想要做的是使用此代码每 30 秒自动更新一次列表. Handler handler = new Handler();Runnable refresh = new Runnable() {公共无效运行(){新的 GetCon ..

如何避免由于自定义静态处理程序类导致的内存泄漏?

我的自定义处理程序类中发生了某些内存泄漏,但不确定如何修复它.在线检查了几个示例,但没有特定于我的代码,所以不知道如何去做: private val startupCallback = object: RetryCallback(NUMBER, DELAY) {覆盖乐趣 onRetry(retryCount: Int) {mySdkApi.applicationStartup(this)}覆盖乐 ..
发布时间:2021-12-31 08:21:11 移动开发

与 HandlerThread 通信的示例

我想从 GUI 线程设置一个 HandlerThread.然后一段时间后,当单击 GUI 上的按钮时,它会运行 callHello(),然后将消息发送到驻留在异步记录“Hello World"的非 GUI 线程上的 HelloLogger 对象.我已经尝试了很多东西,一些无限期地阻止,一些永远不会收到消息等等.下面的代码或多或少与我得到的一样接近,请有人修改它以使其工作吗? public cla ..

这个 Handler 类应该是静态的,否则可能会发生泄漏:IncomingHandler

我正在开发一个带有服务的 Android 2.3.3 应用程序.我在该服务中有这个与主要活动进行通信: 公共类UDPListenerService扩展服务{私有静态最终字符串标记 = "UDPListenerService";//私有线程组 myThreads = new ThreadGroup("UDPListenerServiceWorker");私有 UDPListenerThread m ..

HandlerThread 在其他类似类中的最佳使用

我试图了解使用 HandlerThread 的最佳用例. 根据定义: “用于启动具有循环程序的新线程的便捷类.然后可以使用循环程序创建处理程序类.请注意,仍然必须调用 start()." 我可能错了,但我可以通过使用 Thread、Looper 和 Handler 来实现类似的功能.那么我应该什么时候使用 HandlerThread 呢?举个例子会很有帮助. 解决方案 这 ..
发布时间:2021-12-01 12:12:42 移动开发

从另一个线程在主线程中运行代码

在一个 android 服务中,我创建了线程来执行一些后台任务. 我有一个线程需要在主线程的消息队列上发布某些任务的情况,例如一个 Runnable. 有没有办法获取主线程的 Handler 并将 Message/Runnable 从我的另一个线程发送给它? 解决方案 注意:这个答案受到了如此多的关注,我需要更新它.自从发布原始答案以来,@dzeikei 的评论几乎与原始答案一 ..
发布时间:2021-11-25 13:26:00 Java开发

android 处理程序线程安全吗?

我正在重构一个 Android 项目.我偶然发现了一段我认为非线程安全的奇怪代码.我认为这个例子会导致随机崩溃是否正确? 公共类 SampleClass{Object foo = new Object();//foo 可以在主线程中设置为 null私有处理程序处理程序 = new Handler(){public void handleMessage(消息消息){如果 (foo == null) ..
发布时间:2021-09-07 18:40:23 移动开发

如何每10秒调用一次函数?

我想制作一个每10秒调用一次函数的应用. 我这样写我的代码: Handler ha = new Handler();ha.postDelayed(new Runnable(){@Override公共无效run(){//调用函数}},10000); 但是我的函数在编译此代码后仅在10秒内调用了一次. 我该如何解决? 解决方案 这样做: 最终处理程序ha = new Ha ..
发布时间:2021-04-05 20:19:39 移动开发

根据服务器响应创建多个处理程序并管理那里的状态

当我的应用程序收到服务器的响应时,我想创建多个处理程序并且可运行. 处理程序可以最多4个,最小1个. 问题 实际上,我想将单元屏幕划分为不同的部分,划分之后,我需要在屏幕的所有部分中显示不同类型的数据.在这些部分中,每个部分都有多个要显示的项目. 例如!用户希望将屏幕分为两部分 第一部分包含视频,图像和视频.(3)第一部分中的项目 第二部分包含图像和视频.(2) ..
发布时间:2021-04-05 19:36:05 移动开发

处理程序未在Instrumental Test中执行Runnable

我编写了一个Android工具测试,该测试会调用我的服务并通过广播接收答案. 与服务对话的要测试的代码使用处理程序. 在测试我的测试过程中,^^我注意到处理程序的行为不符合预期.因此,我编写了一个测试来检查这种行为: import android.os.Handler;导入android.support.test.annotation.UiThreadTest;导入org.juni ..
发布时间:2021-04-04 20:39:35 Java开发

从小部件中的onDeleted方法调用handler.removeCallbacks会引发nullpointerexception

当用户删除窗口小部件时,我需要停止处理程序,但是调用handler.removeCallbacks会从onDeleted方法中引发nullpointerexception.我尝试了其他变通方法,例如在实现runnable的类中创建方法来杀死该runnable,但这也会引发nullpointerexception. 也许在调用onDeleted方法之后处理程序会变为null,所以我尝试将其放在on ..