上海某公司android面试题
程序员文章站
2022-06-04 16:29:31
...
-
你对多线程的理解 如何开启多线程
一个程序有多条路径执行就是多线程 继承Thread 实现runnable接口 实现Callable接口
-
列举你知道的线程同步方法
同步方法 : 使用synchronized修饰的方法 同步代码块: 使用synchronized修饰的代码块 使用volatile实现线程同步 使用重入锁实现线程同步:reentrantlock 参考 https://www.cnblogs.com/XHJT/p/3897440.html
-
andorid 四大组件是什么
activity service content provider broadcast receiver
-
androide 数据存储方式有哪些
文件存储 SharedPreferences SQLite数据库存储 ContentProvider 网络存储
5.java虚拟机和Davilk虚拟机区别
java虚拟机是基于栈
--> 加载流程
.java --> .class文件--> jvm虚拟机
Davilk是基于寄存器
.java --> .class文件--> .dex文件 -->Davilk可执行文件
-
activity的启动模式和使用场景
standard 标准模式 singleTop 栈顶复用 singleTask 栈内单例模式 singleInstance 单一实例模式 standard 默认模型 singleTop 使用场景 比如登录界面 singleTask 使用场景 应用程序主界面 singleInstance 使用场景 拨打电话界面
-
注册广播的方式 这些方式有什么区别
注册方式 静态注册和动态注册 静态注册不能取消广播接受,应用关闭后还会收到广播 动态注册当应用关闭后接收器自动销毁 也可以手动销毁
-
activity的生命周期有哪些
onCreate() --> onStart() --> onResume()--> onPause() --> onStop()-->onDestory() onReStart()
-
mvc和mvp mvvm区别
mvc 优点:耦合性低 视图层和业务层分离 缺点:视图和控制器连接过于密切 mvp mvp是mvc的升级模式 优点 模型和视图完全分离 业务逻辑在presenter上 单元测试比较方便 缺点 presenter和视图层交互太频繁 视图层改变 presenter也要跟着改变 mvvm 和mvp模式很像 多了一个双向数据绑定的过程
-
android的事件传递
View的事件传递 View的绘制流程
-
内存溢出和内存泄漏