3 Cricket_小帅

尚未进行身份认证

我的博客大多是我学习过程中笔记部分中整理出来的, 以专栏的方式存放知识点,参考了很多大牛的资料。没有那么专业。没有个人情感。有些部分已经找不到出自何方。但我尊重知识整理的先驱们。salute!

等级
TA的排名 3k+

Android 通信机制之handler消息机制详解源码分析与使用

handler 是android 中处理消息,用于更新UI,我们可以用来实现广告条的轮播,延时任务执行,更新UI,处理数据,和发送数据的使用。全篇分析介绍了handler,分析handler的源码,还有handler常规的使用方法,希望可以帮助到各位。请点赞支持,相互交流。回谢

2019-12-22 09:15:40

里程碑

CSDN 注册使用都已经要4个年头了。在我还是小白的时候,受益匪浅。也是因为这样我才去写博客,把自己的笔记分享给大家,是否有帮助到你们解决了一些不时之需我不知道。但是有大牛博客,解决了我的疑难杂症。往后的博客,我讲用心去写真正的分享一些系统化的技术出来。也谢谢一直和我互动的小伙伴们。salute...

2019-12-20 17:20:04

Service如何保证服务不被杀死

1,如何保证服务不被杀死【1】因内存资源不足而杀死Service 这种情况比较容易处理,可将onStartCommand() 方法的返回值设为 START_STICKY或START_REDELIVER_INTENT ,该值表示服务在内存资源紧张时被杀死后,在内存资源足够时再恢复。也可将Service设置为前台服务,这样就有比较高的优先级,在内存资源紧张时也不会被杀掉。这两点的实现,我们在...

2019-12-10 09:07:15

Service显示启动和隐式启动

1,显示启动 直接上代码一目了然,不解释了。 //显示启动Intent intent = new Intent(this,ForegroundService.class);startService(intent);2, 隐式启动 需要设置一个Action,我们可以把Action的名字设置成Service的全路径名字,在这种情况下android:ex...

2019-12-10 09:06:29

服务Service与线程Thread的区别

1,两者概念的迥异【1】Thread 是程序执行的最小单元,它是分配CPU的基本单位,android系统中UI线程也是线程的一种,当然Thread还可以用于执行一些耗时异步的操作。【2】Service是Android的一种机制,服务是运行在主线程上的,它是由系统进程托管。它与其他组件之间的通信类似于client和server,是一种轻量级的IPC通信,这种通信的载体是bind...

2019-12-10 09:05:35

Service发送前台服务以及通知

1,介绍:【1】前台服务被认为是用户主动意识到的一种服务,因此在内存不足时,系统也不会考虑将其终止。【2】前台服务必须为状态栏提供通知,状态栏位于“正在进行”标题下方,这意味着除非服务停止或从前台删除,否则不能清除通知。【3】例如将从服务播放音乐的音乐播放器设置为在前台运行,这是因为用户明确意识到其操作。 状态栏中的通知可能表示正在播放的歌曲,并允许用户启动 Activ...

2019-12-10 09:05:07

关于启动服务与绑定服务间的转换问题

1,启动状态和绑定状态同时存在时,使用场景【1】虽然服务的状态有启动和绑定两种,但实际上一个服务可以同时是这两种状态,也就是说,它既可以是启动服务(以无限期运行),也可以是绑定服务。有点需要注意的是Android系统仅会为一个Service创建一个实例对象,所以不管是启动服务还是绑定服务,操作的是同一个Service实例,而且由于绑定服务或者启动服务执行顺序问题将会出现以下两种情况:...

2019-12-10 09:03:38

Service使用注意事项

1,注意事项:【1】多个客户端可同时连接到一个服务。不过,只有在第一个客户端绑定时,系统才会调用服务的 onBind() 方法来检索 IBinder。系统随后无需再次调用 onBind(),便可将同一 IBinder 传递至任何其他绑定的客户端。当最后一个客户端取消与服务的绑定时,系统会将服务销毁(除非 startService() 也启动了该服务)【2】 通常情况下我们应该在客户端...

2019-12-10 09:02:26

BindService ---使用Messenger服务端与客户端双向消息传递

1, Messenge方式进行进程间通信的原理图:2,实现一个简单服务端与客户端双向消息传递的简单例子。【1】创建一个服务类MessengerService继承自Servicepackage com.ipctest.messenger;import android.app.Service;import android.content.Intent;import andr...

2019-12-10 09:02:01

BindService ---使用Messenger在服务端接收信息给客户端发送的消息

1,BindService ---使用Messenger 我们接着来了解服务与远程进程(即不同进程间)通信,而不同进程间的通信,最简单的方式就是使用 Messenger 服务提供通信接口,利用此方式,我们无需使用 AIDL 便可执行进程间通信 (IPC)。以下是 Messenger 使用的主要步骤: 【1】服务实现一个 Handler,由其接收来自客户端的每个调用的回调...

2019-12-10 09:01:05

BindService ---扩展Binder类

1,BindServcie --扩展Binder类开启服务 前面描述过,如果我们的服务仅供本地应用使用,不需要跨进程工作,则可以实现自有 Binder 类,让客户端通过该类直接访问服务中的公共方法。其使用开发步骤如下 【1】创建BindService服务端,继承自Service并在类中,创建一个实现IBinder 接口的实例对象并提供公共方法给客户端调用【2】从 onBin...

2019-12-10 09:00:15

Service中bindService 介绍

1,介绍:【1】绑定服务是Service的另一种变形,当Service处于绑定状态时,其代表着客户端-服务器接口中的服务器。【2】当其他组件(如 Activity)绑定到服务时(有时我们可能需要从Activity组建中去调用Service中的方法,此时Activity以绑定的方式挂靠到Service后,我们就可以轻松地方法到Service中的指定方法),组件(如Activity)可以...

2019-12-10 08:59:04

Service用startService方式开启服务

1,创建SimpleService服务类【1】SimpleService继承了Service类,【2】重写了onBind方法,该方法是必须重写的,但是由于此时是启动状态的服务,则该方法无须实现,返回null即可,只有在绑定状态的情况下才需要实现该方法并返回一个 IBinder的实现类(这个后面会详细说),【3】接着重写了onCreate、onS...

2019-12-09 23:13:09

Service生命周期

【1】生命周期: 其中左图显示了使用 startService() 所创建的服务的生命周期,右图显示了使用 bindService() 所创建的服务的生命周期。通过图中的生命周期方法,我们可以监控Service的整体执行过程,包括创建,运行,销毁,关于Service不同状态下的方法回调在前面的分析中已描述得很清楚,这里就不重复了,下面给出官网对生命周期的原文描述:...

2019-12-09 23:12:15

Service在AndroidManifest注册参数

1,Service在清单文件中的声明   前面说过Service分为启动状态和绑定状态两种, 但无论哪种具体的Service启动类型,都是通过继承Service基类自定义而来,也都需要在AndroidManifest.xml中声明,那么在分析这两种状态之前, 我们先来了解一下Service在AndroidManifest.xml中的声明语法,其格式如下:...

2019-12-09 23:11:10

Service介绍

1,Service是什么: Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与...

2019-12-09 23:10:36

Activity 管理工具类

Activity 管理工具类package com.example.ljw.basedemo;import android.app.Activity;import android.content.Context;import android.content.Intent;import java.util.Calendar;import java.util.Stack;...

2019-12-09 23:08:35

如何将一个Activity设置成窗口的样式

如何将一个Activity设置成窗口的样式只需要给我们的Activity配置如下属性即可。android:theme="@android:style/Theme.Dialog"更多关于Activity详解:https://blog.csdn.net/cricket_7/category_9571387.html...

2019-12-09 23:06:13

如何保存activity的状态

如何保存activity的状态Activity的状态通常情况下系统会自动保存的,只有当我们需要保存额外的数据时才需要使用到这样的功能。一般来说, 调用onPause()和onStop()方法后的activity实例仍然存在于内存中, activity的所有信息和状态数据不会消失, 当activity重新回到前台之后, 所有的改变都会得到保留。但是当系统内存不足时, 调用onPause(...

2019-12-09 23:05:43

如何安全退出Activity

如何退出Activity?如何安全退出已调用多个Activity的Application1、通常情况用户退出一个Activity只需按返回键,我们写代码想退出activity直接调用finish()方法就行。2、记录打开的Activity:每打开一个Activity,就记录下来。在需要退出时,关闭每一个Activity即可。//伪代码List<Activit...

2019-12-09 23:05:13

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。