相关疑难解决方法(0)

Handler vs AsyncTask vs Thread

我稍微感到困惑之间的差异Handlers,AsyncTaskThreads在Android中.我在stackoverflow中阅读了很多博客和问题.

Handler是后台线程,提供您与UI进行通信.例如,更新进度条应该通过Handler.使用处理程序可以获得优势MessagingQueues,因此,如果要计划消息或更新多个UI元素或具有重复任务.

AsyncTask类似的,实际上它们使用Handler但不在UI线程中运行,因此它对于获取数据很有用,例如获取Web服务.稍后您可以与UI进行交互.

Thread然而,无法与UI交互,提供更多"基本"线程,你错过了所有的抽象AsyncTask.

但是,我想在服务中运行套接字连接.应该在处理程序或线程中运行,还是在AsyncTask?根本不需要UI交互.它在我使用的性能方面有所不同吗?

与此同时,文件已得到重大改进.

multithreading android android-asynctask android-handler

379
推荐指数
8
解决办法
13万
查看次数

108
推荐指数
7
解决办法
9万
查看次数

Asynctask vs Thread vs Services vs Loader

我稍微感到困惑之间的差异Asynctask,Thread,Service,Loader在Android系统.

我知道它是如何工作的.但我仍然不明白我应该使用什么以及何时使用.

我使用Android工作了3年,并且通常仍然AsyncTask用于所有后台任务(有时候用于Thread).但是很多人说"Asynctask已经过时了",不建议使用它们.他们还建议使用robospice或Volley.

那么,AsyncTask真的很糟糕,我应该使用框架进行网络任务?我应该将什么用于后台(而不是网络)任务?

multithreading android android-service android-asynctask

32
推荐指数
2
解决办法
2万
查看次数

在Android中创建后台服务

在我的项目中,我需要在android中创建一个服务.我可以像这样注册服务:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

   <service   android:enabled="true"
    android:name=".ServiceTemplate"/>
      <activity
        android:name=".SampleServiceActivity"
        android:label="@string/app_name" >
        <intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
     </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

我在以下活动中调用此服务: -

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Intent service = new Intent(getApplicationContext(), ServiceTemplate.class);
    this.startService(service);
}
Run Code Online (Sandbox Code Playgroud)

但如果我杀死当前活动,该服务也会被破坏.我需要这项服务始终在后台运行.我需要做什么?我该如何注册服务?我该如何开始服务?

service android

13
推荐指数
3
解决办法
4万
查看次数