第4章:Service知识点

1. 什么是Service

Service` 是一种可在后台执行长时间运行操作而不提供界面的应用组件,服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行,此外,组件可通过绑定到服务与之进行交互,甚至是执行进程间通信(IPC)。例如,服务可在后台处理网络事务、播放音乐,执行文件I/O或内容提供程序进行交互。

第2章:BroadcastReceiver广播接收器

常见广播的使用场景:

  1. 同一app内有多个进程的不同组件之间的消息通信。
  2. 不同app之间的组件之间消息的通信。

有序广播和无序广播区别:

无序广播是通过context.sendBroadcast(Intent)方法发送的广播,不可拦截,当然发送的数据接受者是无法进行修改的。

有序广播是通过context.sendOrderBroadcast(Intent)方法发送的广播,可被拦截,而且接受者是可以修改发送的数据的。下一个接受者接受的数据是上一个接受者修改过的。

第1章:Activity基础知识点

1.1 Activity是什么?

Activity是用户与程序的窗口,使用前需要在清单文件中通过Actvity标签的android:name属性声明,Activity清单文件的属性配置可以参考官方说明

Android软键盘遮挡输入文本框问题

在开发过程中,经常遇到在某个界面有多个文本框时,点击输入会出现软件盘遮挡输入框的情况,或者是类似在登录或注册页面可以输入信息,但是键盘遮挡登录注册按钮的问题,还有遮挡住输入框下面的输入框,用户必须手动收起键盘才可以继续输入的情况。本篇文章介绍如何处理这些问题,首先我们来介绍一下adjustSize和adjustPan属性。

Java面试知识点

continue、break和return区别

continue:仅推出本次循环,剩下循环和方法继续执行。

break:终止循环,但是继续执行方法

return:终止循环和方法。

Java集合详解

通常,程序总是根据运行时才知道的某些条件去创建新的对象。在此之前,无法知道所需对象的数量甚至确切类型。为了解决这个普遍的编程问题,需要在任一时刻和任意位置创建任意数量的对象。因此,不能依靠创建命名的引用来持有每一个对象:MyType aReference ,因为从来不会知道实际需要多少个这样的引用。Java 中有多种方式保存对象(准确来说是对象的引用)。数据是 Java 中保存一组对象最有效的方式,如果想要保存一组基本类型数据,也推荐使用数组。但是数组具有固定的大小尺寸,而且在更一般的情况下,在写程序的时候并不知道需要多少个对象,或者是否需要更复杂的方式来存储对象,因此数组尺寸固定这一限制就显得太过受限了。

Java线程详解

并发编程使我们可以将程序划分为多个分离的、独立运行的任务。通过使用多线程机制,这些独立任务(也被称为子任务)中的每一个都将执行线程来驱动。一个线程就是在进程中的一个单一的顺序控制流,因此,单个进程可以用于多个并发执行的任务,但是你的程序使得每个任务都好像有自己的CPU一样。其底层机制是切分CPU时间,但通常你不需要考虑它。

Java中NIO、BIO和AIO介绍

原文链接:mp.weixin.qq.com

BIO、NIO、AIO的基本定义和类比描述:

  • BIO(Blocking I/O): 同步阻塞I/O模式,数据的读取写入必须阻塞在一个线程内等待其完成。这里使用那个经典的烧开水例子,这里假设一个烧开水的场景,有一排水壶在烧开水,BIO的工作模式就是,叫一个线程停留在一个水壶那,直到这个水壶烧开,采取处理下一个水壶。但是线程实际上在等待水壶烧开的时间段什么都没有做。

  • NIO(New I/O): 同时支持阻塞和非阻塞模式,但这里我们以同步非阻塞来说明,那么什么叫做同步非阻塞?如果还拿烧开水来说,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作。

  • AIO(Asynchronous I/O):异步非阻塞I/O模型。异步非阻塞和同步非阻塞的区别在哪里?异步非阻塞无需一个线程去轮询所有IO操作的状态改变,在相应的状态改变后,系统会通知对应的线程来处理。对应到烧开水中就是,为每个水壶上面装了一个开关,水烧开之后,水壶会自动通知我水烧开了。

Java异常详解

摘要 (来自于 Java编程思想)

Java 的基本理念是“结构不佳的代码不能运行”。

改进的错误恢复机制是提高代码健壮性的最强有力的方式。错误恢复在我们所编写的每一个程序中都是基本的要素,但是在 Java 中它显得格外重要,因为 Java 的主要目标之一就是创建供他人使用的程序构件。发现错误的理想时机是在编译阶段,也就是在你试图运行程序之前。然而,编译期间并不能找出所有的错误,余下的问题必须在运行期间解决。这就需要错误源能通过某种方式,把适当的信息传递给某个接受者–该接受者将知道如何正确处理这个问题。

Java内部类详解

内部类的定义:一个定义在另一个类中的类,叫做内部类。内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可见性。然而必须要了解,内部类与组合是完全不同的概念,这一点很重要。在最初,内部类看起来就像是一种代码隐藏机制:将类置于其他类的内部。但是,你将会了解到,内部类远不止如此,它了解外部类,并能与之通信,而且你用内部类写出的代码更加更加优雅而清晰,尽管并不总是这样(而且Java8的Lambda表达式和方法引用减少了编写内部类的需求)。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×