问题标签 [android-looper]

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.

0 投票
1 回答
482 浏览

java - 如何通过AlarmManager创建后台服务,代号为一原生接口?

我第一次尝试使用 Codename one for android 的本机界面。我尝试下面的代码在特定时间后在后台获取服务器上的数据存储,即使应用程序未运行也是如此。我不考虑是否启用数据服务/wifi。为此,我通过 Codename one 创建了一个本机实现。在谷歌这么多并尝试了太多方法之后,仍然Looper.prepare();会在处理程序中调用相同的错误。我尝试过的代码之一service如下。我不是android程序员,所以请不要认为我是android专家。

本机 Impl 中的代码:

impl 调用类:

Intent 中调用的类:

错误信息 :

在此处输入图像描述

0 投票
1 回答
33 浏览

android - Android - 服务陷入循环?

我有一个将错误发送到 url 的服务,该服务在其他服务中工作良好,但是当我在 self 中出现错误时,会陷入非常糟糕的循环中。

我能做些什么 ?

0 投票
2 回答
1194 浏览

android - HandlerThread 阻止 UI android

我正在修改适用于 Android 的 Google Camera2 API 示例,可在此处找到:https ://github.com/googlesamples/android-Camera2Basic

我正在将捕获的图像上传到 Cloudinary,显然需要在后台线程中这样做,这样 UI 就不会被阻塞。

然而,我遇到的问题是,当上传图像时,UI 实际上被阻止了,尽管据我所知,它不应该是,因为处理程序是使用 Looper 从后台线程创建的,如下所示:

ImageSaver 类,负责将捕获的图像写入磁盘,如下所示:

ImageSaver 在此处添加到 Handler 中:

我将不胜感激任何帮助或建议,为我指明正确的方向。

0 投票
1 回答
66 浏览

android - 关闭 Android Looper

即使没有被其他代码引用,似乎Looper(至少是用创建的那个)也永远不会被垃圾收集。HandlerThread我知道quit()quitSafely()方法,但是在我的应用程序中,我不确定谁将负责调用这些方法之一。

关闭Looper具有多个活动的应用程序的正确方法是什么,以及Handler在此创建的 s 的Looper生命周期与其中的活动不同。它不能是onDestroy()任何活动。如果我不关闭它并且该进程没有被操作系统杀死 -Looper可能会在下一个应用程序“启动”时创建新的并且这个会泄漏。或者,创建一次,存储在静态字段中,永不退出,让它泄漏一次。到目前为止,最后一个似乎是最安全和最容易实施的。

0 投票
1 回答
846 浏览

android - 调用 Handler 时是否需要调用 Looper.prepare()

我需要了解Looper。Looper 将咨询适当的处理程序来发送和处理与线程的 MessageQueue 关联的 Message 和 Runnable 对象。

默认情况下,线程没有与之关联的消息循环,因此也没有 Looper。要为线程创建 Looper 并使该线程专用于从消息循环中串行处理消息,您可以使用 Looper 类。

以下是我没有明确调用 Looper 的代码

这是否意味着任务/可运行没有放入队列?上面的代码和这个有什么区别

他们都访问同一个处理程序。他们都工作正常。

0 投票
1 回答
58 浏览

java - 无法在后台获取 GPS 坐标(使用处理程序)- Android

我正在尝试通过处理程序获取 GPS 坐标。下面是代码:

不知何故,代码总是导航到 catch 块。我得到这个错误:

这是处理程序:

看过各种帖子。不知何故无法弄清楚。如何准确实现 looper.prepare() ?有任何想法吗 ?

0 投票
1 回答
78 浏览

android - 重复循环

这是我的 FileObserver 代码:

它返回 2 份报告来记录,而不仅仅是一份。这意味着一旦实施,将发送 2 封自动电子邮件,这并不理想。

谁能帮助我的语法?

0 投票
2 回答
257 浏览

android - 保持调用线程直到多个异步任务完成

我有一个后台线程,它调用 3 个异步任务同时执行任务。调用线程充当 3 组这些任务的队列。

所以基本上我需要同时调用 3 个异步任务,一旦它们完成,我想调用队列中的下三个任务并重复。

但是,在三个异步任务完成之前,我无法暂停调用者线程。结果,队列中的下三个任务在前三个任务完成之前开始运行。

那么无论如何要保持调用者线程直到异步任务完成。我知道您可以在 asynctask 中使用 .get() ,但它不会使三个 asynctasks 同时运行。

0 投票
2 回答
685 浏览

android - 调用方法中的 Looper.Loop() 异常

我正在调用一个方法:

和方法:

但是我得到以下异常:

dialog.show()部分。

这是因为调用实际上发生在一个新线程上吗?如果是,如何让它在 UI 线程上运行?如何只显示对话框?

谢谢!

0 投票
1 回答
86 浏览

android - 领域和 Looper 恶作剧

我在 Loopers 和 Realm 上遇到了麻烦。

我在 onCreate() 中有一个Activity实例化它Presenter,然后调用它的一个公共方法initFirstLaunch()

请注意,这playerViewContract是我在这种情况下的活动。

我的问题是onChange()有时调用它,当它调用时它会阻塞我的 UI 线程(并最终引发 a OutOfMemoryError)。我的猜测是我不在一个弯针线程中,但是当我Looper.prepare()在任何地方打电话时它崩溃说我已经在一个。

发生了什么 ?

谢谢


编辑:添加 initWithCourseDetailed 代码


编辑:更正