`

Android技术点记录-Service、Thread、BroadcastReceiver的结合使用

 
阅读更多

 

1、为什么不用Activity、BroadcastReceiver处理耗时操作?

      主线程 (“事件处理线程” / “UI线程”) 在5秒内没有响应输入事件, BroadcastReceiver 没有在10秒内完成返回的情况下,Android会出现ANR错误。

 

2、为什么不直接抛出Thread进行处理而要采用Service?

 

 

3、使用方式:

     Service启动时,注册BroadcastReceiver ,同时启动处理线程;

     Service中定义BroadcastReceiver 内部类,用于接收数据;

     BroadcastReceiver 中调用处理线程的handler,通过handler.sendMessage();

     由Handler完成数据的最终处理;

     其中,

     Service提供处理环境或者说容器;

     BroadcastReceiver 用于接收外部传送至Service的数据,并调用handler;

     Thread(Handler)真正完成数据的处理;

 

public class MyService  extends Service{

private MyThread myThread;
 oncreate(){
   //启动处理线程
   myThead.start();
   //注册监听
   registerReceiver();
 }
 onDestroy(){
   myThread.release();
   unregisterReceiver();
 }
public class MyReceiver extends BroadcastReceiver {

         onReceive(){
           //
             myThread.handler.sendMessage();           
         }
   }
}

 

 

public class MyThread  extends Thread {

  private Looper looper;
  private MyHandler myHandler;
   run(){
       Looper.prepare();
       looper = Looper.myLooper();
       myHandler = new MyHandler(looper);
       looper.loop();
  }
  
   realease(){
     loop.quit();
  }

}

 

 

 

分享到:
评论

相关推荐

    初中级Android开发社招面试之Service及BroadcastReceiver.pdf

    Service是Android系统中的一种组件...综上所述,Service和BroadcastReceiver在Android开发中扮演着重要角色,理解它们的生命周期、启动方式、交互机制以及如何优化其性能是面试中常见的问题,也是开发者必备的知识点。

    Android创建Service后台常驻服务并使用Broadcast通信

    本篇文章将详细讲解如何在Android中创建一个常驻Service,并结合BroadcastReceiver实现线程间(Service Thread与Activity)的异步通信。 一、创建Service 1. 定义Service类:首先,我们需要创建一个继承自`Service...

    android-笔试题-答案(面试使用)

    【Android笔试题与面试知识点详解】 在Android开发者领域,面试和笔试是评估候选人技术能力的重要环节。本资料“android-笔试题-答案(面试使用)”包含了一份针对Android开发者的笔试题目集,以及相应的解答,旨在...

    Android高级应用源码-100多个Android 实例集合.zip

    源码集合可能包含使用AsyncTask、Handler、Thread、Service等实现后台任务的例子,帮助我们理解如何优雅地进行异步处理。 2. **网络编程**:Android应用经常需要与服务器交互,例如使用HttpURLConnection、OkHttp或...

    Android程序源码--测试

    1. **Android应用程序结构**:Android程序通常由多个组件(Activity、Service、BroadcastReceiver、ContentProvider)构成,每个组件都有其特定的功能和生命周期。源码中会包含这些组件的实现,了解它们的工作原理是...

    android service下载资源,同时解压资源

    综上所述,"android service下载资源,同时解压资源"这一功能实现涉及到了Android Service、异步下载、BroadcastReceiver、ZIP文件解压等多个技术点,这些知识点在实际的Android应用开发中都非常常见且重要。...

    安卓Android源码——安卓Android经典开发---豆瓣网移动客户端+讲解+源代码.rar

    Android应用程序框架包含了一系列的API,如Activity、Service、BroadcastReceiver、ContentProvider等。豆瓣移动客户端通过这些组件进行交互,实现用户界面、后台服务、数据通信等功能。理解这些组件的工作原理,...

    Android应用---充电宝app源码.zip

    源码分析和研究将揭示其在Android平台上的开发技术和实践。 1. **Android Studio项目结构**: - Android应用程序的源代码通常按照特定的项目结构组织,包括`app`模块、`gradle`配置文件、资源文件夹(如`res`)和`...

    Android--开发--高手过招 FAQ.rar

    1. **组件系统**:Android应用由四大组件构成:Activity、Service、BroadcastReceiver和ContentProvider。理解它们各自的角色和交互方式是成为Android开发高手的基础。 2. **多线程与异步处理**:由于Android UI...

    Android代码-android-exercises

    该资源包中的"android-exercises-master"很可能包含了多个子目录和文件,这些内容可能涵盖以下几个主要知识点: 1. **Activity与Intent**:Activity是Android应用的基本组件,代表用户界面的一个屏幕。Intent用于...

    Android开发教程--经典

    本“Android开发教程--经典”覆盖了Android开发的各个方面,结合实践案例,确保你能够深入理解并掌握这些知识点。无论你是新手还是希望进阶的开发者,这份教程都将对你的Android开发事业大有裨益。

    Android实现定时任务及闹钟

    android中定时有很多种是实现,常见的Handler 与Thread的结合,handler.postDelayed ,以及要使用的AlarmManger 等都可以实现定时任务的执行,但是使用场景却大不相同,这里主要是怎么用AlarmManager实现定时任务。...

    Android app更新,实现service下载-IT计算机-毕业设计.zip

    在Android开发中,更新应用程序是一项常见的任务,它涉及到服务(Service)组件的使用以及网络下载技术。本项目是一个针对学生毕业设计的学习资源,提供了一个基于Android的app更新示例,让我们一起深入探讨其中的...

    疯狂Android讲义源码11-19章

    本资源包含了该书11至19章的源码,这些章节涵盖了Android开发中的许多关键知识点,旨在帮助读者深入理解并实践Android应用开发。 1. **Chapter 11: 自定义View** - 自定义View是Android开发中的一项高级技术,让...

    Android代码-1-121019133948.zip

    1. **基础概念**:了解Android系统架构、组件模型(Activity、Service、BroadcastReceiver、ContentProvider)、Intent机制等。 2. **UI设计**:使用XML布局文件创建用户界面,包括LinearLayout、RelativeLayout、...

    android-simpl3r-文件上传-IT计算机-毕业设计.zip

    可以使用AsyncTask或者Thread结合Handler更新UI,或者使用ProgressRequestBody这类支持进度回调的网络库。 6. **权限管理**: - 自Android 6.0(API level 23)起,运行时权限开始生效,应用程序需要在运行时请求...

    李兴华Android开发实战经典--配套PPT课件

    《李兴华Android开发实战经典》是一本深受开发者欢迎的Android技术书籍,其配套的PPT课件提供了丰富的教学资源,旨在帮助读者深入理解和掌握Android应用开发的核心技能。李兴华老师是Android开发领域的知名专家,他...

    【Android studio】service在app直接退出下,整体输出情况,实现开机自启动,一直后台运行

    1. AIDL(Android Interface Definition Language):如果需要在应用退出后使Service持续运行,可以使用AIDL实现进程间通信(IPC),这样即使应用被关闭,Service所在的进程仍然可以运行。 2. 后台任务:使用...

    android完全开发讲义--李宁 第二版 随书源代码

    11. **多线程与异步处理**:讲解Android中的线程模型,使用AsyncTask、Handler、Thread和Runnable进行后台任务处理。 12. **网络编程**:介绍网络请求的基础知识,包括HTTP协议、URLConnection和OkHttp库的使用,...

    Android应用---音乐播放器毕设.zip

    5. **Service组件**: 为了在后台持续播放音乐,即使用户离开应用,需要使用Service。服务可以独立于用户的交互运行,确保音乐播放不会中断。 6. **ContentProvider**: 如果音乐文件存储在设备的外部存储上,可能...

Global site tag (gtag.js) - Google Analytics