Android常见面试题

0.Activity 的四种启动模式、应用场景 ?

standard 标准模式: 每次启动一个 Activity 都会重新创建一个新的实例。


singleTop 栈顶复用模式: 如果新 Activity 已经位于任务栈的栈顶,那么此 Activity 不会被重新创建,同时会回调 onNewIntent方法,如果新 Activity 实例已经存在但不在栈顶,那么Activity 依然会被重新创建。


singleTask 栈内复用模式: 只要 Activity 在一个任务栈中存在,那么多次启动此 Activity 都不会重新创建实例,并回调onNewIntent 方法,此模式启动 Activity A,系统首先会寻找是否存在 A 想要的任务栈,如果不存在,就会重新创建一个任务栈,然后把创建好 A 的实例放到栈中。


singleInstance单实例模式: 这是一种加强的 singleTask 模式,具有此种模式的 Activity 只能单独地位于一个任务栈中,且此任务栈中只有唯一一个实例。

1.跨进程通信的几种方式

Intent,比如拨打电话
ContentProvider数据库存储数据
Broadcast广播通信
AIDL通信,通过接口共享数据

2.Activity的生命周期

自己背吧

3.Android 4种引用类型

1.强引用:常见的引用方式,无论如何,虚拟机宁愿抛出Outofmemory异常也不会回收的对象。

2.软引用:当内存不足时,会被虚拟机回收。

3.弱引用:当虚拟机执行回收gc时,被回收。

4.虚引用:任何时候都有可能被回收。

4.StringBuffer, StringBuilder的区别

StringBuffer:线程安全

StringBuilder:线程不安全

5.View的绘制原理

View为所有图形控件的基类,View的绘制由3个函数完成
measure,计算视图的大小
layout,提供视图要显示的位置
draw,绘制

6.TCP,UDP区别

TCP是经过3次握手,4次挥手完成一串数据的传送
UDP是无连接的,知道IP地址和端口号,向其发送数据即可,不管数据是否发送成功

7.Android性能优化

布局优化:减少布局层级,使用ViewStub提高显示速度,布局复用。
内存方面:防止内存泄露,使用一些第三方工具检测解决
安装包优化:删除无用资源,优化图片,代码混淆,避免重复库存在,插件化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值