草庐IT

asynctasks

全部标签

Android - RxJava vs AsyncTask 以防止 getActivity() 内存泄漏

在Android中使用RxJava(或RxAndroid等)而不是AsyncTask如何帮助防止上下文泄漏?在AsyncTask中,如果您执行它并且用户离开应用程序,则Activity上下文可能为空并且应用程序可能会崩溃。我听说RxJava在执行线程时可以帮助防止这种类型的崩溃。我还听说它可以比AsyncTask的doInBackground方法(它处理错误很糟糕)做更好的错误处理。大多数时候,如果有任何失败,我只是在doInBackground中返回null(例如),但我读过RxJava可以返回确切的错误而不是泄漏。谁能举个例子?这是一个小演示,如果用户在尝试向UI报告结果时离开应用

java - 如何在 Asynctask 中获取共享首选项?

我正在为我的学校项目编写一个android应用程序,但我被困在这里。问题是我必须访问SharedPreferences值并在AsyncTask类中需要它。当我尝试访问它时,由于上下文原因,它不会让我访问。如何在我的AsyncTask中访问我的SharedPreferences?publicclassCheckAccessextendsAsyncTask{@OverrideprotectedBooleandoInBackground(JSONObject...params){//Tryingtogetsharedpreferencesherewontwork.returnnull;}}

android - 命名 AsyncTask 以在 Android 中进行分析

这个问题在这里已经有了答案:NametheThreadofanAsyncTask(2个答案)关闭8年前。有没有什么方法可以在Android中命名AsyncTasks以便进行分析?截至目前,AsyncTasks仅在分析器中显示为[N]AsyncTask#1[M]AsyncTask#2[K]AsyncTask#3[L]AsyncTask#4etc...我想做的是能够以某种方式命名它们,以便在跟踪文件中轻松识别它们。

java - 等同于 AsyncTask 的 BlackBerry 类?

我的要求是有一个线程来维护BlackBerry设备和服务器之间的套接字连接并交换命令,类似于请求和响应。我的问题是我需要让这个线程始终在后台运行并保持UI对用户可用。因此,当有来自服务器的命令时,该线程会解析它并更新UI,而且如果有来自BlackBerry用户的操作,它会将其发送到服务器,然后由服务器处理它。我使用AsyncTask在Android中开发了相同的应用程序,并且运行良好。但是在BlackBerry中,由于没有这样的类,我使用了invokeLater()选项。服务器和BB设备之间的通信工作正常,但UI在BlackBerry上被卡住。有人知道如何正确处理吗?

android - AsyncTask 不异步运行

如果我没记错的话,下面应该是一样的。使用AsyncTask:privateclassGetDataTaskextendsAsyncTask{@OverrideprotectedvoidonPreExecute(){}@OverrideprotectedStringdoInBackground(String...params){returnNetConnection.getRecordData(mUserId,mUserPassword);}@OverrideprotectedvoidonPostExecute(Stringresult){parseJson(result);}}使用线程

AsyncTask 的 doInBackground 中的 android.os.NetworkOnMainThreadException

为什么我进入了一个应该是android.os.NetworkOnMainThreadException的AsyncTask?我认为AsyncTask是解决该问题的方法。异常(exception)在第7行。privateclassImageDownloadTaskextendsAsyncTask{@Overrideprotectedbyte[]doInBackground(String...params){try{URLurl=newURL(params[0]);URLConnectionconnection=url.openConnection();InputStreaminputSt

android - Android 平板电脑中未调用 Asynctask DoInBackground ()

在android中开发一个应用程序我使用了Asynctask类,当我在运行2.3.5的Android设备上测试时工作正常,但我面临的问题是,我的平板电脑4.0.4不起作用在测试时,知道正在调用prexecute()但没有调用doInbackground(),但是在设备(2.3.5)上调用了doInbackground()。我认为这个问题的一个原因是平板电脑的处理器比设备的处理器快得多,所以可能是一些线程问题,为什么,为了解决这个问题,我使用了一些标志,并使用了线程。sleep()在一个dowhile循环中,这样当条件为真时,它就可以工作,但运气不好,我陷入了循环本身。这是我的代码:My

android - java.lang.NullPointerException : Attempt to invoke interface method on a null object reference error on OnPostExecute() - AsyncTask 异常

我正在尝试从AsyncTask中获取结果以显示在我的搜索Activity中。我有一个来自以前应用程序的示例,它是在一位同事的帮助下制作的(我是那里的实习生)。我根据这个应用程序的需要调整了示例,但现在我得到了NullPointerException:03-0403:50:23.865:E/AndroidRuntime(8224):FATALEXCEPTION:main03-0403:50:23.865:E/AndroidRuntime(8224):Process:com.cyberdog.what2watch,PID:822403-0403:50:23.865:E/AndroidRun

AsyncTask 内部的 Android AsyncTask

所以,我正在研究一个条形码解码器,一旦我们有了条形码,它就会通过互联网进入多个API来解码刚刚扫描的内容。问题是我必须将一些XML解析链接在一起,我不知道我做的是否正确。因此,扫描条形码后,我的程序会调用一个ASyncTask,它通过API检索产品名称。一旦有了名称,我希望它调用另一个ASyncTask。我知道这可以通过在另一个的onPostExecute()中实例化一个ASyncTaks来实现,但是,我认为这是错误的,因为它就像盒子中的盒子。那么在我的主Activity中实例化我的第二个ASyncTask并让它等到我的第一个ASyncTask完成是不是可能/更好?(英语不是我的主要语

android - AsyncTask 通知父 Activity 完成的最佳方式是什么?

publicclassListingFoundBeaconServiceextendsAsyncTask{publicListingFoundBeaconService(ContextcontextGiven,JSONObjectjsonParams){this.contextGiven=contextGiven;this.jsonParams=jsonParams;}protectedvoidonPreExecute(){super.onPreExecute();pDialog=newProgressDialog(contextGiven);pDialog.setMessage("L