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