线程

连接到Android的Web服务 – AsyncTask或服务?

只有当用户在Activity中时,才会与webservice进行交互.一旦他们切换到另一个应用程序,或退出程序,就不需要与Web服务进行通信.解决方法我建议你去AsyncTask解决方案.它是一种简单直接的运行UI线程请求或任何其他后台任务的方法.它也很容易实现,例如onProgressUpdate如果您需要在运行请求时显示某种进度条.

什么时候android会在没有唤醒锁定的情况下停止其CPU?

我知道android使用唤醒锁来保持cpu运行或屏幕打开.很明显,屏幕唤醒锁定会阻止用户活动计时器在用户不活动一段时间后关闭屏幕.但是我想知道什么时候cpu唤醒锁定才会生效.1.如果我创建一个新线程并在后台排除cpu而没有任何唤醒锁定,关闭屏幕将不会停止它.它会停止吗?

关于主ui线程的Android AsyncTask onPostExecute

}以上看起来像AsyncTask的使用,但我仍然看到这个问题即使在这样的简单情况下也会发生.下一个示例使用异步任务来运行其他异步任务.也许有些东西我不知道当异步任务被构造导致一些奇怪的行为时会发生什么?

android – 如何在sharedPreferences中分析ANR

在sharedPreferences中遇到ANR,不知道如何定位问题.以下是trace的三个部分,其他大多数线程都是“WAIT”或“TIMED_WAIT”.由于countdownlatch.await(),“主”线程被阻止.第二个线程“pool-1-thread-1”等待fsync.最后一个是试图读一些东西.我认为第二个线程已经阻塞了主线程,因为如果这个无法完成,它将不会调用countdownla

在Android上的背景中返回的排序和处理数据

我有一些麻烦找到关于Volley和response.Listener的一些信息.基本上我有一个向后端询问数据的操作,在后台调用Volley,同时在主线程上调用onResponse.我是否需要自己运行才能在后台处理这些数据,或者有办法强制onResponse在后台运行?

android – 在发送Toast消息时出错:无法在未调用Looper.prepare()的线程内创建处理程序

我得到一个运行时异常:在工作线程中显示Toast消息时,无法在未调用Looper.prepare()的线程内创建处理程序.我有一个服务,它创建一个对象.该对象负责连接到线程中的服务器.我得到了服务器的响应.我想在toast中显示来自服务器的消息.那时我得到了这个例外.我尝试使用handler.post在Handler中发布它.但我仍然得到例外.应该采取什么方法来避免这种情况.解决方法像这样定义一个Handler:然后将以下代码放在需要显示Toast消息的位置.

Android- Thread.join()导致Application挂起

我有一个处理我的游戏循环的线程,当我在这个线程上调用.join()时应用程序停止响应.我一直在努力解决程序永远无法访问代码的问题,因为线程永远不会结束.我的游戏循环线程:这个帖子成功打印出“GameEnded”但似乎永远不会完成.启动并将线程加入主线程:据我所知.join()使当前线程等到新线程完成后再继续.对不起,如果这是一个愚蠢的问题,我对线程很新.解决方法当您在Activity.onCrea

android – Cordova插件阻塞线程

我正在为Androidcordova/phonegap应用程序创建一个自定义插件,并且本机Java端会启动一项活动,其中包括由其启动的服务调用的回调.这个想法是回调每隔一秒左右从服务中被击中并且效果很好,但问题是我似乎无法在另一个线程中运行,因此主要的cordova线程被阻止,应用程序完全没有响应.基于我正在做的文档:我在这里意识到JS回调永远不会被调用(即callbackContext.succ

android – AutoCompleteTextView即使在更新ArrayAdapter时也不显示结果

我正在尝试使用AutoCompleteTextView(ACTV)来显示我从网络资源中获取的结果.我已将完成阈值设置为2,我可以看到在输入字符时触发了请求.我得到的结果是正确的.让我说我写“ca”,我得到结果“汽车”作为自动完成.我有一个回调函数,它接收来自AsyncTask的结果并将结果放入ArrayAdapter.然后我在ACTV上调用.showDropDown()并显示一个空的下拉列表(正常