[关闭]
@my943813636 2019-07-15T10:06:17.000000Z 字数 1462 阅读 576

Android 面试


tcp和udp的区别和应用场景

网络基础

tcp
当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。
在日常生活中,常见使用TCP协议的应用如下:

UDP
当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。
比如,日常生活中,常见使用UDP协议的应用如下:

java多态的理解

java基础

多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。

 多态的好处:

1.可替换性(substitutability)。多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。
3.接口性(interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。如图8.3 所示。图中超类Shape规定了两个实现多态的接口方法,computeArea()以及computeVolume()。子类,如Circle和Sphere为了实现多态,完善或者覆盖这两个接口方法。
4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。

哪些情况下的对象会被垃圾回收机制处理掉?

java内存模型 GC

处于GcRoot 不可达的对象
a. java虚拟机栈(栈帧中的本地变量表)中的引用的对象。
b.方法区中的类静态属性引用的对象。
c.方法区中的常量引用的对象。
d.本地方法栈中JNI本地方法的引用对象。

Activity之间的通信方式

页面通讯
共享静态变量
startActivit

Activity 切换 onStop方法一定会执行吗

生命周期

如果window背景是透明的就不会,onStop 是页面处于不可见状态的时候

alertDialog 弹出 activity 的生命周期

singleTask 启动模式的策略

启动模式

standard 标准模式,每次都新建一个实例对象
singleTop 如果在任务栈顶发现了相同的实例则重用,否则新建并压入栈顶
singleTask 如果在任务栈中发现了相同的实例,将其上面的任务终止并移除,重用该实例。否则新建实例并入栈
singleInstance 允许不同应用,进程线程等共用一个实例,无论从何应用调用该实例都重用

嵌套滚动 滑动冲突 touch分发

滚动机制

在垂直滚动的ViewPage页面中 有两个recycler 怎么在顶部的recycler 滚动到底部的时候,切换页面

有了解的ORM(SQL)框架吗?,举例一个使用场景

缓存

混合开发 Flutter

广度

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注