Articles of multithreading

我可以将不同types的parameter passing给Android中的AsyncTask吗?

我想实现一个通用的线程保存类,它接受ImageView的RessourceId和存储所需图像文件的Url(http)。 它将下载图像并在UiThread中填充ImageView的src。 我认为AsyncTask对我来说是最好的。 但是我注意到我只能将一种types的parameter passing给doInBackground()方法。 就像一个Urls数组。 真的吗? 你会建议我什么?

如何检查所有AsyncTasks是否完成?

我有3个AsyncTasks和1个ProgressBar 。 我希望当任何任务执行时,进度条都可见,当所有任务完成时,进度条是不可见的。 在Java中,有ExecutorService::isTerminated来检查是否所有runnables都已完成但Android没有。 更新:3个任务同时执行。 数字。

如何将AsyncTask从Android移植到java?

AsyncTask对于UI线程和Android中的其他线程之间的同步非常有用。 所以我已经阅读了它的源代码并尝试移植到java经典(JDK)但没有成功,因为java中没有一些类(Message,Handler ..)。 我想创建一个具有一些有用函数的类,如AsyncTask(可以在主线程和其他线程之间同步): doInBackground(Params… params) onProgressUpdate(Progress… values) onPostExecute(Result result) publishProgress(Progress… values) onPreExecute() onCancelled() 有没有办法试试呢?

Androidanimation减少口吃/波动/滞后

所以我一直有animation问题,特别是当两个animation一次发生时或者当一个活动加载时。 我知道这可能是一个资源问题,主线程中发生了很多事情,导致animation断断续续。 我发现了一些有趣的建议: 1.线程(ThreadPoolExecutor) 这里: 如何使我的animation更流畅Android 2. setDrawingCacheEnabled(true) 这里: Android的setDrawingCacheEnabled()如何工作? 3. ViewGroup:animationCache = true 这里 : http : //www.curious-creature.org/2010/12/02/android-graphics-animations-and-tips-tricks/ 但是,我无法find任何实例来实现这些东西。 有任何想法吗?

Android – 如何在runOnUiThread中将数据传递给Runnable?

我需要更新一些UI,并使用runOnUiThread在UI线程内部进行 现在UI的数据来自另一个Thread,由data表示。 如何将数据传递给Runnable,以便它们可用于更新UI? Android似乎不允许直接使用数据。 有一种优雅的方式来做到这一点? public void OnNewSensorData(Data data) { runOnUiThread(new Runnable() { public void run() { //use data } }); } 我的解决方案是在runnable中创建一个fioeld private Data sensordata ,并为其分配数据。 如果原始Data data是最终Data data ,则此方法有效。 public void OnNewSensorData(final Data data) { runOnUiThread(new Runnable() { private Data sensordata = data; public void run() { //use sensordata which is equal to […]

java.lang.RuntimeException:每个线程只能创建一个Looper

我有一个简单的线程,如下所示: public class AwesomeRunnable extends Thread { Handler thisHandler = null; Handler uihandler = null; String update = null; long time = 0; public AwesomeRunnable(Handler h, long howLong) { uihandler = h; time = howLong; } public void run() { Looper.prepare(); thisHandler = new Handler(); … 编辑:新的代码,启动了RUNNABLE public class StartCycle implements Runnable { @Override public […]

使用Runnable和postDelayed更新UI无法使用计时器应用程序

我已经看过每一个讨论和我可以find的关于让它工作的线程,但事实并非如此。 我有一个更新文本视图的简单计时器(下例中的mTimeTextField)。 正在正确执行mUpdateTimeTask运行方法(每秒),但UI /文本字段未更新。 我有基于以下信息的代码: http://android-developers.blogspot.com/2007/11/stitch-in-time.html http://developer.android.com/resources/articles/timed-ui-updates.html 这是代码: package com.something.handlertest; import com.something.handlertest.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.SystemClock; import android.view.View; import android.widget.Button; import android.widget.TextView; public class Test extends Activity { private Handler mHandler = new Handler(); private int labelNo = 0; private long currTime = 0L; private long mStartTime = 0L; […]

Android如何在其他类中运行OnUiThread?

在我的应用程序中,在MainActivity中,有一个工作正常的线程。 但是当我调用另一个类从服务器获取数据时,我无法在线程上运行。 请参阅下面的代码示例 class MainActivity extends Activity implements Runnable { public void onCreate() { new Thread(this).start(); } public void run() { //here is code for download data from server after completion this and in handler im call other class in setdata() method…. } public void setData() { new CheckData(this); } } class CheckData { public […]

onPostExecute取消了AsyncTask

如果已取消AsyncTask是否执行onPostExecute ? 如果确实执行了,那么在做其他任何事情之前,我是否应该总是在isCancelled开始时询问该任务是否已被取消( isCancelled )?

SQLite同时读写

我已经阅读了很多主题,但无法找出问题的答案:是否可以同时读写? 我有后台线程更新一些数据,UI需要存储在DB中的小块数据。 因此在UI线程中执行SELECT操作。 但它在更新过程中会阻止。 结果,UI冻结了几秒钟。 写作时,有没有人能从DB读取成功? 它可以在iPhone上读写DB。 这种差异的原因是否与本机sqlite函数的包装器同步实现?