1. 什么是Service
Service` 是一种可在后台执行长时间运行操作而不提供界面的应用组件,服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行,此外,组件可通过绑定到服务与之进行交互,甚至是执行进程间通信(IPC)。例如,服务可在后台处理网络事务、播放音乐,执行文件I/O或内容提供程序进行交互。
Activity是用户与程序的窗口,使用前需要在清单文件中通过Actvity标签的android:name属性声明,Activity清单文件的属性配置可以参考官方说明。
在开发过程中,经常遇到在某个界面有多个文本框时,点击输入会出现软件盘遮挡输入框的情况,或者是类似在登录或注册页面可以输入信息,但是键盘遮挡登录注册按钮的问题,还有遮挡住输入框下面的输入框,用户必须手动收起键盘才可以继续输入的情况。本篇文章介绍如何处理这些问题,首先我们来介绍一下adjustSize和adjustPan属性。
通常,程序总是根据运行时才知道的某些条件去创建新的对象。在此之前,无法知道所需对象的数量甚至确切类型。为了解决这个普遍的编程问题,需要在任一时刻和任意位置创建任意数量的对象。因此,不能依靠创建命名的引用来持有每一个对象:MyType aReference
,因为从来不会知道实际需要多少个这样的引用。Java 中有多种方式保存对象(准确来说是对象的引用)。数据是 Java 中保存一组对象最有效的方式,如果想要保存一组基本类型数据,也推荐使用数组。但是数组具有固定的大小尺寸,而且在更一般的情况下,在写程序的时候并不知道需要多少个对象,或者是否需要更复杂的方式来存储对象,因此数组尺寸固定这一限制就显得太过受限了。
原文链接:mp.weixin.qq.com
BIO(Blocking I/O): 同步阻塞I/O模式,数据的读取写入必须阻塞在一个线程内等待其完成。这里使用那个经典的烧开水例子,这里假设一个烧开水的场景,有一排水壶在烧开水,BIO的工作模式就是,叫一个线程停留在一个水壶那,直到这个水壶烧开,采取处理下一个水壶。但是线程实际上在等待水壶烧开的时间段什么都没有做。
NIO(New I/O): 同时支持阻塞和非阻塞模式,但这里我们以同步非阻塞来说明,那么什么叫做同步非阻塞?如果还拿烧开水来说,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作。
AIO(Asynchronous I/O):异步非阻塞I/O模型。异步非阻塞和同步非阻塞的区别在哪里?异步非阻塞无需一个线程去轮询所有IO操作的状态改变,在相应的状态改变后,系统会通知对应的线程来处理。对应到烧开水中就是,为每个水壶上面装了一个开关,水烧开之后,水壶会自动通知我水烧开了。
Update your browser to view this website correctly. Update my browser now