草庐IT

background-thread

全部标签

android - @Background 和 screen rotation 使用 AndroidAnnotations 时,如何确保收到回调?

当使用@Background注释时,我们启动了一个新线程。如果我们当这个线程正在执行旋转屏幕的位置时,我们将然后丢失该线程的回调或如何处理?和Loaders这是在屏幕后面整理出来的,所以我们不必担心我们使用时经常出现的问题异步任务。但是@Background注释是如何处理这个的呢? 最佳答案 首先,当你使用@Background注解时,代码是在一个单独的线程上执行的,但这并不一定意味着会启动一个新的线程,因为我们使用的是一个普通的线程池(可以是替换)所有@Background方法。与AsyncTask一样,@Background不处

java - picasso + RxJava2 : Method call should happen from the main thread

这是我最初的问题:我试图在AutoScrollViewPager中显示一些图像。我正在使用Picasso来达到同样的目的。但是,我想使用Rxjava2+Picasso来做同样的事情。我对这个RxJava概念有点陌生。因此,如果有人可以帮助我提供详细信息,将以下内容转换为RxJava代码,我将不胜感激。这就是我在onViewCreated()中所做的imageAdapter=newImageAdapter(getActivity());autoScrollViewPager.setAdapter(imageAdapter);autoScrollViewPager.setCurrentIt

java - 如何在 android 或 : what exactly are daemon threads in android? 中安排一些代码执行

我目前正在为android操作系统开发一个应用程序,它需要不时从远程服务器获取数据。因为这个“更新”应该在实际的前端应用程序没有运行时执行,我实现了一个在系统启动时启动的远程服务。现在我需要安排一个计时器来开始更新。“定时器”类适合这项工作吗?如果是"is":“普通”Timer()和由Timer(true)作为“守护进程”启动的有什么区别?http://developer.android.com/reference/java/util/Timer.html对此不是很有帮助:(编辑:好的-我看到有比我预期的更多的方法来做到这一点。澄清:我想在指定的时间执行一些代码。此计时器用于触发7天后

java.lang.Thread.setPriority 与 android.os.Process.setThreadPriority

java.lang.Thread.setPriority和android.os.Process.setThreadPriority它们有什么不同?首先,在java.lang.Thread类中,java.lang.Thread.setPriority(intpriority)priority的值可以从Thread.MIN_PRIORITY(=1,最低)到Thread.MAX_PRIORITY(=10,最高)。java.lang.Thread类中有相关常量。publicstaticfinalintMIN_PRIORITY=1;publicstaticfinalintNORM_PRIORIT

android - thread.sleep 和 systemclock.sleep 有什么区别。在 AsyncTask 中应该使用哪一个?

我发现如果我在中间运行AsyncTask时退出Activity,并且当我尝试再次启动该Activity时,我将不得不等到前一个AsyncTask完成才能启动新的AsynTask。我尝试了thread.sleep和systemclock.sleep,结果相同。这是有道理的,因为我猜我关闭和打开的线程是相同的。如果用户退出Activity,有没有办法取消AsyncTask?因为这样一来,用户第二次进入同一个Activity时,他就不必等到上一次完成。我在onPause()中尝试了asyntask.cancel(true),它不起作用,同样的事情发生了。 最佳答案

android - 从 Thread.UncaughtExceptionHandler 启动服务?

我正在尝试设置全局异常处理服务,如thisanswer中所述.这种方法听起来合乎逻辑,因为在崩溃之后,我自定义的代码Thread.UncaughtExceptionHandler可能无法成功执行,要么是因为应用程序可能未处于稳定状态,要么是因为在进程被操作系统杀死之前可能没有足够的时间。不幸的是,这种方法似乎不起作用,因为该服务在同一进程中启动,因此它也被终止了。如何从处理程序的uncaughtException()启动服务?我可以强制该服务在一个完全独立的进程中启动吗?我在Application中设置自定义默认(VM级)异常处理程序,如下所示:publicclassMyAppexte

android - 使用 robolectric 检查是否在 UI-Thread 上调用了方法

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭9年前。Improvethisquestion这里有人知道如何编写测试(或者最好有一个示例)来检查是否在UI线程上调用了一个方法吗?

android - 异步任务 OnProgressUpdate CalledFromWrongThreadException : Only the original thread that created a view hierarchy can touch its views

我正在使用AsyncTask下载带有进度对话框的数据库,该进度对话框在UI上显示进度。我的一些用户收到错误:CalledFromWrongThreadException:只有创建View层次结构的原始线程才能触及它的View。据我了解,只有当您尝试从UI线程更新View时才会发生这种情况。这是错误:com...updateops.DbCreate.onProgressUpdate(DbCreate.java:70)在com...updateops.DbCreate.onProgressUpdate(DbCreate.java:1)这是我的代码:publicclassDbCreateex

android - 适用于安卓系统的 FCM : popup system notification when app is in background

是否可以在屏幕顶部显示firebase系统通知的弹出窗口(当应用程序处于后台时)?为此,我使用setPriority(Notification.PRIORITY_MAX)在前台显示来自onMessageReceived的通知。我同时使用了notification和data字段,所以我无法在前台接收到通知。我已经尝试将priority设置为high并使用仅通知推送-没有任何帮助。 最佳答案 当您的应用程序在后台且使用仅data负载时,只有在onMessageReceived中才可能处理消息。当在您的负载中同时使用notificatio

Android Espresso waitFor.. 和 Thread.sleep() 解决方案

我刚开始使用Espresso,在此之前我已经尝试过Robotium。我需要测试LoginActivity。逻辑是:用户输入正确的凭据;用户看到“Loggingin..”字符串;用户等待字符串消失;用户在MainActivity中并看到“您已登录”测试登录源:publicvoidtestLogin()throwsException{onView(withId(R.id.login_email)).perform(typeText(LOGIN_EMAIL));onView(withId(R.id.login_password)).perform(typeText(LOGIN_PASSWOR