加载中
Android热修复原理

AndFix:阿里 Tinker:微信 Qzone:QQ空间 Robust:美团 一、AndFix 采用的是底层替换方案,类似反射 不同: AndFix 采用的是替换ArtMethod结构体中的字段 所有信息,包括执行入口、访问权限...

06/12 14:57
74
设计模式六大原则

1.单一职责原则: 不要存在多于一个导致类变更的原因 【单例模式违反】 2.开闭原则:对(子类)拓展开放,对(父类)修改关闭 (继承) 【外观模式违反】 3.里氏替换原则: 即父类出现的地方...

03/14 22:49
184
Java的设计模式

Java 中一般认为有23 种设计模式,总体来说设计模式分为三大类: 创建型模式,共五种:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。 结构型模式,共七种:装饰器模式、适配...

Android中的常见通信机制

Android中的常见通信机制 1.Handler同进程的线程间通信 Handler通过sendMessage()发送Message到MessageQueue队列,Looper通过loop()不断提取出Message,并将Message交给target通过displatch...

02/28 14:01
206
Android面试_线程不安全到底是怎么回事

线程不安全到底是怎么回事: 1.一个线程写,多个线程读的时候,会造成写了一半就去读 2.多线程写,会造成脏数据

02/15 20:57
210
Android面试_静态的 Broadcast 和动态的有什么区别

静态的 Broadcast 和动态的有什么区别 1. 动态的比静态的安全 2. 静态在 app 启动的时候就初始化了 动态使用代码初始化 3. 静态需要配置 动态不需要 4. 生存期,静态广播的生存期可以比动态广...

02/15 20:49
76
ANDROID面试_线程篇常见 58 题

1、java 中==和 equals 和 hashCode 的区别 基本数据类型的==比较的值相等. 类的==比较的内存的地址,即是否是同一个对象, equals在不覆盖 的情况下, 同比较内存地址,原实现也为 == ,如 ...

02/15 18:54
55
Android面试_冷启动与热启动

app 冷启动: 当应用启动时,后台没有该应用的进程,这时系统会重新创建一 个新的进程分配给该应用,会先创建和初始 化 Application 类,再创建和初始化 LauncherActivity 类,最后显示在界面...

02/15 16:48
355
Android面试_两个 Activity 跳转的生命周期

两个 Activity 跳转的生命周期 1. 启动 A onCreate - onStart - onResume 2. 在 A 中启动 B ActivityA onPause ActivityB onCreate ActivityB onStart ActivityB onResume ActivityA onStop...

02/15 16:33
356
如何修改 Activity 进入和退出动画

可以通过两种方式, 一是通过定义 Activity 的主题样式 在 styles.xml 中编辑如下代码: <style name="AnimationActivity" parent="@android:style/Animation.Activity"> <item name="androi...

02/15 15:21
176
Android面试_横竖屏切换

横竖屏切换时 Activity 的生命周期跟清单文件里的配置有关系。 1.不设置 Activity 的 android:configChanges 时,切屏会重新调用各个生 命周期默认首先销毁当前 activity,然后重新加载。 所...

02/15 14:26
100
Android面试_多线程间通信和多进程之间通信方式

一、进程间的通信方式 1.管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 2.有名管道 (namedpipe...

02/15 13:57
423
Android 中如何捕获未捕获的异常

(一)UncaughtExceptionHandler 1、自定义一个 Application,比如叫 MyApplication 继承 Application 实 现 UncaughtExceptionHandler。 2、覆写UncaughtExceptionHandler的onCreate和uncau...

02/15 13:32
214
Android面试_内存泄露

定义 内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存泄露。 原因 长生命周期的对象持有短生命周期对象的引用就很可能...

02/15 13:24
142
Android面试_Intent和序列化

1.Intent 传递数据时,可以传递哪些类型数据? Intent 可以传递的数据类型非常的丰富,java 的基本数据类型和 String 以 及他们的数组形式都可以,除此之外还可以传递实现了 Serializable 和...

02/14 15:34
60
ListView 图片错位

图片错位问题的本质源于我们的 listview 使用了缓存 convertView,假设一 种场景,一个 listview 一屏显示九个 item,那么在拉出第十个 item 的时候,事实上该 item 是重复使用了第一个 item...

02/14 15:18
106
Android面试_(ListView)图片优化

最简单的做法:使用加载图片框架处理图片 自己做: 异步加载图片基本思想(知识准备): 1)、 先从内存缓存中获取图片显示(内存缓冲) 2)、获取不到的话从 SD 卡里获取(SD 卡缓冲) 3)、都...

02/14 14:32
68
在 ScrollView 中如何嵌入 ListView

自定义 ListView,重载 onMeasure()方法,设置 全部显示。 import android.widget.ListView; /** ** @Description: scrollview 中内嵌 listview 的简单实现 ** @File: ScrollViewWithListVi...

02/14 13:51
114
Android面试_ListView性能优化

① 复用 ConvertView,使用历史的 view,提升效率 200% ② 自定义静态类 ViewHolder,减少 findViewById 的次数。提升效率 50% ③ 异步加载数据,分页加载数据。 ④ 使用 WeakRefrence 引用 ...

02/14 13:40
53
Service的多次启动和停止

1.无论多少次的 startService 又 bindService,Service 只被创建一次,Service 的 onCreate 的方法只会被调用一次。 2.多次调用 startService 的话,service 会多次调用 onStartCommand 方法...

02/14 13:28
2.2K

没有更多内容

加载失败,请刷新页面

返回顶部
顶部