2018年Android最新面试题

1.什么是接口?Android中有哪些机制是基于接口编程? 
接口就是一些方法特征的集合,用interface修饰。 
面向接口编程:http://blog.csdn.net/wangjinyu501/article/details/74355351

2.说明Activity和Service的生命周期? 
 


3.Intent flag有哪些?作用是什么? 
自己看(25种) :https://www.jianshu.com/p/08177910b0a2

4.Android的多线程模型有哪几种? 
Android提供了四种常用的操作多线程的方式,分别是: 
1. Handler+Thread 
2. AsyncTask 
3. ThreadPoolExecutor 
4. IntentService 
详细介绍:https://www.jianshu.com/p/2b634a7c49ec

5.如何规避oom? 
1.使用更加轻量的数据结构 
2.避免在Android里面使用Enum 
3.减小Bitmap对象的内存占用 
4.使用更小的图片 
5.复用系统自带的资源 
6.注意在ListView/GridView等出现大量重复子组件的视图里面对ConvertView的复用 
7.Bitmap对象的复用 
8.避免在onDraw方法里面执行对象的创建 
9.避免对象的内存泄露(重点) 
10.考虑使用Application Context而不是Activity Context 
11.注意WebView的泄漏(重点) 
12.资源文件需要选择合适的文件夹进行存放 
13.谨慎使用static对象(重点) 
14.特别留意单例对象中不合理的持有 
15.珍惜Services资源 
16.谨慎使用“抽象”编程 
17.谨慎使用依赖注入框架 
18..谨慎使用多进程 
19.Handler的使用(重点) 
20.强软弱虚引用的应用(重点) 
22.主线程操作UI,子线程操作数据(必填) 
原因地址:http://blog.csdn.net/ljx19900116/article/details/50037627

6.数据存储有哪些方式? 
1.sharedpreferences 2.file 3.Sqlite 4.ContentProvide 5.网络存储

7.如何做多设备支持? 
个人理解为屏幕适配,不知道出题者的意图

8.Android的布局方式有哪些?分别是如何实现OnDraw的? 
LinearLayout,RelativeLayout,TableLayout,FrameLayout,AbsoluteLayout,GridLayout

9.ScrollView是否可以和listView混合使用?如何可以,说明混合使用的方式,如果不行,说明原因。 
可以,计算整个ListView的高度,填充数据后重新设置ListView高度,重写onMeasure和onInterceptTouchEvent方法

10.在创建fragment时如何传递初始化参数? 
Fragment初始化一定要提供默认构造函数。不能用构造函数传递参数!不要写带参数的构造函数。在Fragment里添加获取Fragment的newInstance函数,以后获取Fragment就使用这个函数,不要使用构造函数新建Fragment!使用setArgument和getArgument传递参数 
详细地址和注意事项:http://blog.csdn.net/xiaofei_it/article/details/45675497
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhangJiQun&MXP

等到80岁回首依旧年轻

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值