Android总结

1.MVP:

从MVC到MVP的一个转变,就是减少了Activity的职责,减轻了它的负担,简化了Activity中的代码和一些操作,将逻辑代码提取到了Presenter中进行处理,降低了其耦合度。

1.降低耦合度,隐藏数据,Activity中代码更简洁

2.模块职责划分明显
3.方便测试驱动开发
4.代码复用度较高
5.代码灵活性

2.Android 四种启动方式 
standard:启动就新建一个 Activity,默认都是这个 
snigleTop:实例在栈顶,则重用该实例,调 onNewIntent() 方法。应用场景,支付界面,比如支付宝和微信的支付界面都是singleTop,适合做接收通知的界面。 
singleTask:栈中有则重用。适合做程序的入口点,比如浏览器的入口,不管启动启动多少次,主页面就那一个。聊天界面,聊天列表界面,图册。 
singleInstance:新的任务栈里只有他,应用场景,闹铃,弹框

3.Android中为什么主线程不会因为Looper.loop()里的死循环卡死?

1,epoll模型当没有消息的时候会epoll.wait,等待句柄写的时候再唤醒。 
2,所有的ui操作都通过handler来发消息操作。比如ui绘制,所以他能被唤醒。

4.gc 怎么运行的,循环引用怎么处理 ,有几种引用方式


5.  Java 基本类型 
boolean 
boolean 1 位 - - Boolean 
char 16 位 Unicode 0 Unicode 2 的16 次方-1 Character 
byte 8 位 -128 +127 Byte(注释①) 
short 16 位 -2 的15 次方 +2 的15 次方-1 Short(注释①) 
int 32 位 -2 的31 次方 +2 的31 次方-1 Integer 
long 64 位 -2 的63 次方 +2 的63 次方-1 Long 
float 32 位 IEEE754 IEEE754 Float 
double 64 位 IEEE754 IEEE754 Double 
6.shot 和 char 最基本的区别,short 是 sign 的,char 是 unsign 的
7.心跳包的策略
8.发生死锁的处理方法
9.cookie 有什么用处
10.写一个单例模式 

public class Singleton {
    private static Singleton singleton = null;
    private Singleton() {  }
    public static Singleton getInstance() {
        if (singleton== null) {
            singleton= new Singleton();
        }
        return singleton;
    }
}

11.java垃圾回收之循环引用

12.service 如何保活
13.多线程如何同步
14.aidl服务端挂掉怎么办,怎么通知客户端
15.设置线程优先级方法
16.websocket丢包率
17.二分法查找
18.单例模式
19.volley原理,缓存怎么处理的
20.UIL 实现原理
21.lock
22.怎么优化SQLite
建立索引,优点:数据量大可以很快找到数据,缺点:增加数据库体积。更适用于数据库特别大的场景; 
编译 SQL 语句成 SQLiteStatement,因为每次都编译 SQL 语句也需要时间。
显示使用事务
查询数据优化 (微小的工作) 
按需获取列信息, 
提前获得索引, 
ContentValues 的容量调整(因为ContentValues 会双倍扩容,提前设置合适的容量就可避免不必要的扩容操作), 
及时关闭 Cursor, 
耗时异步化,单线程 加 任务队列
22.怎么优化布局XML 
23.使用 ViewStub,Merge
24.自定义view,需要实现哪些方法 
onMeasure,onLayout,onDraw
25.Android新特性
26.asynctask版本的区别,新版本是怎么处理的
27.多线程下载怎么实现



28.List 接口的实现有哪些: 
ArrayList 数组实现轻量级,运行快,线程不安全。JDK1.2 查询快 
Vector 数组实现重量级,运行慢,线程安全。JDK1.0 
LinkedList链表实现 常用语堆栈与队列的实现 增删操作快
Map 接口的实现有哪些 
HashMap 轻量级 线程不安全的,允许key或value为null JDK1.2 
HashTable 重量级 线程安全的 不允许key或value为null JDK1.0(Properties是HashTable的子类,主键和值都是字符串) 
SortedMap:(不重要)特点: key唯一,有序(Unicode升序) 实现类:TreeMap
String可否继承 
String 是 final 的,不可继承
29.looper 机制 
http://wangkuiwu.github.io/2014/08/26/MessageQueue/ 
http://blog.csdn.net/luoshengyang/article/details/6817933
http://www.cnblogs.com/codingmyworld/archive/2011/09/12/2174255.html 

30.如何处理多线程的情况,多线程如何同步
31.算法题 int 数组里找相同数字 
32.时间复杂度



33.动画
34.静态内部类和非静态内部类的区别,Adapter 中的 ViewHolder 应该用 静态类还是非静态内部类
35.Asynctask 的实现,Handler 的实现
36.多线程同步
37.View 事件传递机制



37.多线程同步
38.遇到的难题有什么,怎么解决的
39.登录用的 token 还是 session,多久过期
40.动画
41.新特性
42.视频播放
43.图片缓存怎么处理,为什么是 缓存大小是 应用可用内存的 1/8



44.EventBus
45.Volley
46.mvp 模式




47.如何自定义 view
48.View 传递机制
49.动画
50.视频播放
51.多线程


52.遇到过什么难题,如何解决的
53.UIL 的实现
54.多线程同步


55.说一下 java 里的动态绑定
56.多态,多态是怎么实现的
57.多线程
58.Link Hash HaspMap和HaspTable ,他们之间的区别,什么是 线程安全,线程不安全,性能有什么区别
59.Android的布局
sp px dp
60.Android 主线程的问题
61.Android中用户数据的存储问题。如果放到sd卡中,用户把sd卡拿走或sd卡损坏怎么处理。
62.系统升级怎么保证客户数据不丢失
63.LinearLayout和RelativeLayout的区别和好处
64.堆和栈的区别
65.Java有哪些容器,都是在什么情况下使用
66.Android的网络情况怎么获取
67.Java的垃圾回收机制
68.多态的代码
69.onNewIntent
70.GradViewLayout



71.异常处理
72.api 6.0特性
73.recycle
74.android_support_v4除了Fragment还有什么


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值