0%

本章主要学习IPC机制,首先介绍Android中多进程以及多进程开发中的常见注意事项,接着介绍Android中的序列化和Binder,然后详细介绍Bundle、文件共享、AIDL、Messenger、ContentProvider和Socket等进程通信模式。

2.1 Android IPC简介

IPC(Inter-Process Communication),即为跨进程通信,先理解线程和进程;线程:CPU调度的最小单元,同时线程是一种有限的系统资源,单个进程不单独享有能够使其独立运行的资源。而进程一般指一个独立单元,在PC和移动设备上指一个应用程序或者一个应用。一个进程包含多个线程。在Android中,主线程也叫UI线程,在UI线程里才可以操作界面元素。很多时候,一个进程要执行大量的耗时任务,如果这些任务放在主线程去执行就会导致界面无法响应,严重影响用户体验,会导致ANR(Application Not Responding),即应用无响应,解决问题时,把耗时操作放在线程(非UI线程)中即可。

阅读全文 »

先附上Activity的生命周期官方经典图:


针对此图:再具体说明一下,分如下几种情况:

  • 1,针对一个特定的activity,第一次启动,回调方法如下:onCreate()–>onStart()–>onResume()。
  • 2,当用户打开新的activity时或者切换到桌面的时候,回调方法如下:onPause()–>onStop()。还有一种特殊情况,如果新Activity采用了透明主题,那么当前Activity不会回调onStop()。
    阅读全文 »

1,HashMap可以接受null键值和值,而HashTable则不能,HashMap是非synchronized的;存储的是键值对

2,HashMap是基于hashing原理,使用put(key,value)存储对象到HashMap中,使用get(key)从HashMap中获取对象,当我们给put方法传递键和值时,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来存储键对象和值对象,作为Map.Entry.

阅读全文 »

java虚拟机

概述

我们常说的JDK(Java Development Kit)包含了Java语言、Java虚拟机和Java API类库三部分,这是java开发的最小环境,而JRE(Java Runtime Environment)包括了Java API中的Java SE API子集和Java虚拟机这两部分,是Java程序运行的标准环境。可以看出Java虚拟机的重要性,它是整个Java平台的基石,是Java语言编译代码的运行平台。你可以把Java虚拟机看作一个抽象的计算机,它有各种指令集和各种运行时数据区域。Java虚拟机不仅仅可以运行Java,还可以运行kotlin、Croovy、Scala、Jython等。

阅读全文 »

这是一个测试文档,测试Markdown语法,在这里是测试插入一张图片。

阅读全文 »

当子父类中出现成员函数一模一样的情况,会运行子类的函数。
这种现象,称为覆盖操作,这是函数在子父类中的特性。
函数两个特性:
1,重载:在同一个类中。overload
2,覆盖,子类中,也称为重写。override

阅读全文 »

解决思路:
1,定义一个类,名字为TestPrimeNumber。
2,在类中定义主函数。
3,用for循环打印出所有在100至200之间的质数。
4,在for循环中,判断每当循环执行一次,就判断循环变量的值是否为素数,如果是,就把循环变量的当前值大于出来。
5,比如一个数为n,就用2至n-1来除n,以此来判断是否是素数。如果从2至n-1都无法整除n,就是素数。

阅读全文 »

抽象类:
抽象:笼统,模糊,不具体。

阅读全文 »

1
2
3
4
5
abstract class AbsDemo
{
abstract void show1();
abstract void show2();
}

当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用
另一种形式来定义和表示,就是 接口: interface

阅读全文 »