|
目录: J1 D2 l: h" K& N
第一章:ANDROID 基础 ........................................................................................15' T# {. A7 [# M, Y! A
一、 Activity(更新 2020.5.15)....................................................................................................... 15" F" ~+ u8 N/ C- H) [
1、 什么是 Activity?....................................................................................................................... 15
' k5 D2 v7 _( q1 X- C2、 请描述一下 Activity 生命周期............................................................................................... 15
; M6 ]+ h. Z% `9 H7 o3、 常见的 Activity 类型有 FragmentActivitiy,ListActivity,TabAcitivty 等。请描述一下
: u7 B# a7 r+ U# |5 sActivity 生命周期............................................................................................................................ 16
5 N( p) U3 O7 U4、如何保存 Activity 的状态或者(Activiy 重启怎么保存数据?) ............................................ 162 R' B5 v, u) ^/ ^. x; M
5、 两个 Activity 之间跳转时必然会执行的是哪几个方法?.................................................... 18
O- _! z& N; s4 R6、 横竖屏切换时 Activity 的生命周期(★★★★)................................................................ 187、 如何将一个 Activity 设置成窗口的样式................................................................................ 18
6 P8 M. u6 j+ A ?- g2 t/ q# ?8、 如何退出 Activity?如何安全退出已调用多个 Activity 的 Application?(★★★★)19( p q9 ^, y% `7 @& c
9、 Activity 的四种启动模式,singletop 和 singletask 区别是什么?一般书签的使用模式是
3 u( F6 l3 @) R3 Bsingletop,那为什么不使用 singletask? .................................................................................... 209 V8 t& ]% H: {7 R8 w% o5 A
10、 Android 中的 Context, Activity,Appliction 有什么区别?(★★)......................... 21) p. D$ F* W1 i( v) q
11、 两个 Activity 之间传递数据,除了 intent,广播接收者,content provider 还有啥?22
: k1 b7 v/ l0 q3 E F' p2 o2 p" l12、 Context 是什么?,一个应用有多少个 Context(2020.5.15)(★★) ...................... 22
) o2 z2 X; y- n# F: W& s9 X% |13.activity 之间还有 activity 和 service 之间如何传值, 可以传图片吗? (2020.5.15)(上海)) U7 E. b7 w, K8 F
............................................................................................................................................................. 23
M- Q; {: b) K( \$ e7 V5 B二、 Service........................................................................................................................................ 24" W; i4 P z& d" F R
1.Service 是否在 main thread 中执行, service 里面是否能执行耗时的操作?(★★)................ 24
( ?+ t. E. `) [; y/ U/ S6 z2.Activity 怎么和 Service 绑定,怎么在 Activity 中启动自己对应的 Service?.......................... 25) A- y9 v# Z$ k) n
3.请描述一下 Service 的生命周期(★★★) ............................................................................... 25. Z1 j* ^0 Y! X* Y& \' L
4.什么是 IntentService?有何优点?(★★★)........................................................................... 27
1 o" m* U( P: E, c# S# S i/ w一、IntentService 简介..................................................................................................................... 27
' w# w' @( p/ |4 w. |* ~% A3 K2 _3 y0 r二、INTENTSERVICE 特征.....................................................................................275 N" Z( e: g l n
1. 通过 startService....................................................................................................................... 313 l @' E1 h3 H
2. 通过 bindService ....................................................................................................................... 31
* H V+ v, q" v/ r0 y& E$ @三 、 Broadcast Receiver ................................................................................................................ 32
) G) s+ U$ k f% G1.请描述一下 BroadcastReceiver(★★)...................................................................................... 32$ k. O. N( @: {; ^$ R" N1 x
2.在 manifest 和代码中如何注册和使用 BroadcastReceiver .......................................................... 33
l8 u/ d" s7 G2 c% T3.BroadCastReceiver 的生命周期..................................................................................................... 34四、 ContentProvider(更新 2020.5.15)................................................................................. 350 s) J+ l1 S G* {' l
1.请介绍下 ContentProvider 是如何实现数据共享的(★★★)................................................. 35
( g) J" B: o' v4 F: @6 h9 `$ k+ c2.为什么要用 ContentProvider?它和 sql 的实现上有什么差别?(★★★)............................ 36
' _1 d" T2 W G; u+ x0 g# A3.说说 ContentProvider、ContentResolver、ContentObserver 之间的关系(★★★★) ........... 36' A# }# e. |% }5 z" F
4.使用 contentProvider 获取本地所有的音频文件(上海)(更新 2020.5.15)(★★★) ........... 37
! A0 i/ {' c3 v2 V% j4 Q4 s4 U五、 ListView ..................................................................................................................................... 37
0 f5 V1 G3 R& n" @0 Y0 V& p. a; p1.ListView 如何提高其效率?(★★) ......................................................................................... 37
: v P# ~. r* t& u2.当 ListView 数据集改变后,如何更新 ListView......................................................................... 38
4 A L8 q0 v9 D9 g; q* e3 E' d3.ListView 如何实现分页加载(★★★★★) ............................................................................. 38
6 M# j0 J e. N( c$ f4.ListView 可以显示多种类型的条目吗(★★) ......................................................................... 39
1 I2 }8 O5 T( e$ l7 `0 Y5.ListView 如何定位到指定位置..................................................................................................... 393 H' [8 W: K7 O" B" E( Z* J; Q
6.如何在 ScrollView 中如何嵌入 ListView(★★★★) ............................................................. 40% c5 G/ u1 A7 |9 d% J( m: P/ f, A
7.ListView 中如何优化图片(★★) ............................................................................................. 425 u0 k$ a$ d% Z
8.ListView 中图片错位的问题是如何产生的(★★★) ............................................................. 44
$ [/ j3 q g/ u8 k8 ^/ x% W1 Y10.如何刷新 ListView 中单个 item 的数据,不刷新整个 ListView 的数据?............................. 45
0 n g( n$ Z% q7 T; K7 h. i/ o) Y六、 Intent.......................................................................................................................................... 45
' y8 K. ~2 W- k1.Intent 传递数据时,可以传递哪些类型数据?........................................................................... 45
; T& q, [- }: H) p( {: Q2.Serializable 和 Parcelable 的区别(★★★)............................................................................... 455 l; a! m, Y; i% X# J9 M* \# O
3.请描述一下 Intent 和 IntentFilter(★★★)............................................................................. 462 {/ {6 _+ y/ ?; t8 M! {
4.intent 的意义.................................................................................................................................. 49
- |1 N# ]/ X1 c5 A2 f8 m七、 Fragment................................................................................................................................... 49
9 b0 N8 M1 G& [* o$ n$ r) G7 h1.Fragment 跟 Activity 之间是如何传值的...................................................................................... 49% t, F2 U4 M) {. c
2.描述一下 Fragment 的生命周期.................................................................................................... 50/ x' _. ^ C9 [5 F5 Z# E9 w
3.Fragment 的 replace 和 add 方法的区别........................................................................................ 50- c% @( g" l) [% v% S$ Y! W# h; W
4.Fragment 如何实现类似 Activity 栈的压栈和出栈效果的?...................................................... 52
/ K; w! d3 @3 E5.Fragment 在你们项目中的使用..................................................................................................... 54' l, E [6 s! x* Y5 |
6.如何切换 fragement,不重新实例化............................................................................................... 55/ `2 l$ ~/ N/ @( Q1 e& G3 i3 k
第二章:ANDROID 高级 ........................................................................................57
& k+ V# t* p t一、 Android 性能优化(2020.5.15 更新)................................................................................. 571、 如何对 Android 应用进行性能分析(★★★★)............................................................... 57. V& P" r* v, L2 h. \3 g: b
2、 什么情况下会导致内存泄露(★★).................................................................................... 65. F9 V5 m9 ?; Y) O/ f# B
3、 如何避免 OOM 异常(★★★★) ....................................................................................... 69. y. J- L0 w2 E3 m. O6 k
4、 Android 中如何捕获未捕获的异常(2020.5.15)(★★★)............................................ 727 F3 A* A) P/ ?3 S _
5、 ANR 是什么?怎样避免和解决 ANR(★★★★★)......................................................... 76" ?$ B6 O6 p& Q% N, `
6、 Android 线程间通信有哪几种方式(★★★).................................................................... 78
f- n4 T, U# \4 h7、 Devik 进程,linux 进程,线程的区别(★)....................................................................... 78
1 P' p8 Z3 w, d8 M( z; I: n2 \8、 描述一下 android 的系统架构? ........................................................................................... 79) p3 H, k/ k1 U; g
9、 android 应用对内存是如何限制的?我们应该如何合理使用内存?(2020.3.15)(★★. f/ c" O( `* U$ Q
★★)................................................................................................................................................. 80- Z2 j' U5 f: R, m- J
10、 简述 android 应用程序结构是哪些?(2020.3.15)(★★★★) ............................... 82" j: r; M6 @9 i2 v
11、 请解释下 Android 程序运行时权限与文件系统权限的区别?(2020.3.15)(★★★)
$ a& M7 Y$ { s4 J............................................................................................................................................................. 86
) _1 A% k) w# g3 w: Z) m12、 Framework 工作方式及原理,Activity 是如何生成一个 view 的,机制是什么?/ o; l! l3 h/ `3 a. ?# f- C( ?
(2020.3.15)(★★).................................................................................................................87' c+ N" i$ H' C1 T" s
13、 多线程间通信和多进程之间通信有什么不同,分别怎么实现?(2020.3.15)(★★★: r' Q9 [7 G$ W8 ^! u! F' C
★★)................................................................................................................................................. 87" O5 |3 |! k9 q8 I( `, P# F( Y
二、 Android 屏幕适配(更新 2020.5.15)................................................................................. 89- \6 t, i' E. _3 T9 c0 l% a
1、 屏幕适配方式都有哪些(★★★★★)................................................................................ 890 ]5 Y) O8 l" v0 D& w
2、 屏幕适配的处理技巧都有哪些(★★★★)........................................................................ 97" H& [$ y- _6 B2 ?
3、 dp 和 px 之间的关系(★★)............................................................................................. 101三、 AIDL .......................................................................................................................................... 102) @( i$ W R0 g9 t* J4 O6 B+ ?8 p
1、 什么是 AIDL 以及如何使用(★★★★)........................................................................... 102% t1 @# m; B# ^# G) `" Z
2、 AIDL 的全称是什么?如何工作?能处理哪些类型的数据?(★★★) ............................ 103& h6 q) [% U% K0 c# ^/ J
四、 Android 中的事件处理........................................................................................................... 1043 Z& T. q0 i& r$ v0 T
1、 Handler 机制(★★★★★).............................................................................................. 104
* J p: I( f- ~$ ?2、 事件分发机制(★★★★★).............................................................................................. 1050 @( A: \: k( M# H9 g/ Q% W
线程篇.................................................................................................................................................. 108
, E% U H# e7 eHandler、Message、Looper、MessageQueue ................................................................... 1088 g% ?: y6 T7 {! W
HandlerThread ............................................................................................................................. 116
( w. f$ N$ L* KIntentService................................................................................................................................. 117
" I5 S; S% v, y" ] xAsyncTask ...................................................................................................................................... 118
6 h6 `! M& H& G3 U* o" j* y$ [* w3、 子线程发消息到主线程进行更新 UI,除了 handler 和 AsyncTask,还有什么?(★★★)
/ `, B, r8 t$ D( U& B& J. z........................................................................................................................................................... 120" v3 R" T& c2 |& p/ }7 {$ b
4、 子线程中能不能 new handler?为什么?(★★★)...................................................... 121+ l8 R1 x0 ], j, N
五、 Android 中的动画................................................................................................................... 122: K# l2 w) a" \7 l. O$ f' x
1、 Android 中的动画有哪几类,它们的特点和区别是什么(★★★).............................. 122( r& T7 J& T3 z1 I6 K+ ?
2、 如何修改 Activity 进入和退出动画(★★)...................................................................... 122& U: |2 T( _( x% y! ~" k9 x8 c- `
3、 属性动画,例如一个 button 从 A 移动到 B 点,B 点还是可以响应点击事件,这个原理是
9 `, C3 g# o. Z2 U9 m/ q1 r" `什么?(★★).............................................................................................................................. 123六、 ContentObserver 内容观察者作用及特点(★★★) ...................................................... 124
) j s: v5 X+ {1 X( x {2020Android 高级面试题总结(★★★★★)............................................................................... 129$ [! W, C- f3 ^. l1 X o: f
1. 说下你所知道的设计模式与使用场景 ..................................................................................... 129
b0 M' b/ q) Q. g) R7 R2. java 语言的特点与 OOP 思想 .................................................................................................... 130
! b+ h% o7 _: _7 j' r3. 说下 java 中的线程创建方式,线程池的工作原理。............................................................. 130$ ~' Q7 J* f" p
4. 说下 handler 原理....................................................................................................................... 131( \9 i1 e6 E6 G- x' s- r
5. 内存泄漏的场景和解决办法..................................................................................................... 1328 Y; `3 ?' }0 {- }/ \' J1 h0 U
6. 如何避免 OOM?......................................................................................................................... 134' e" Z) U; z, P- K- T
7. 说下 Activity 的启动模式,生命周期,两个 Activity 跳转的生命周期,如果一个 Activity 跳2 }! U3 S: G$ e$ L
转另一个 Activity 再按下 Home 键在回到 Activity 的生命周期是什么样的............................. 1363 z- G0 U2 T% [! ]
启动模式.......................................................................................................................................... 136
" R2 k$ U3 e5 }7 D9 _6 C& O生命周期.......................................................................................................................................... 137' I" |- D2 a7 J/ U; N
两个 Activity 跳转的生命周期....................................................................................................... 1379 p$ f8 V% C; Z
8. onRestart 的调用场景.................................................................................................................. 138" @* V* y z0 T6 ?
9. 是否了 SurfaceView,它是什么?他的继承方式是什么?他与 View 的区别(从源码角度,如5 A" F) D( U+ v. G
加载,绘制等)。............................................................................................................................. 138
* u& ]. ?1 }0 n) ^10. 如何实现进程保活................................................................................................................... 139
( d' F" j4 C6 L9 @# D" H/ k9 i+ m11. 说下冷启动与热启动是什么,区别,如何优化,使用场景等。........................................ 140% H' w+ c6 K$ H* z0 ^
12. 为什么冷启动会有白屏黑屏问题? ....................................................................................... 141
3 f. D6 g4 O* N! z5 O13. Android 中的线程有那些,原理与各自特点............................................................................. 143
5 d X, X- {- |/ M9 x9 f0 |% Z14. ANR 的原因 .............................................................................................................................. 144& P/ y2 N: Y% Z2 n# @6 e: n0 f6 ^
15. 三级缓存原理........................................................................................................................... 144
" a i! a( c0 T+ t# {$ r. N! D, M16. LruCache 底层实现原理: ....................................................................................................... 145. C/ q! L+ c( h9 C/ y! {$ `
17. 说下你对 Collection 这个类的理解。..................................................................................... 145
3 m8 ]. I* `5 A! A, ~+ Z6 ~18. JVM 老年代和新生代的比例................................................................................................... 147
+ o. Y, T( [1 Y6 H19. jvm,jre 以及 jdk 三者之间的关系?JDK(Java Development Kit)是针对 Java 开发员的产
9 e) v; A& L1 [9 I品,是整个 Java 的核心,包括了 Java 运行环境 JRE、Java 工具和 Java 基础类库。............ 148% B, L% s* L" m! S8 ]4 @# A: K8 d
20. 谈谈你对 JNIEnv 和 JavaVM 理解? ................................................................................. 1484 a* C' i, k( d
21. Serializable 与 Parcable 的区别?............................................................................................. 149
1 q0 a0 Y* e6 e$ b3 \, E第三章:开源框架实战............................................................................................170- r# R: v8 O: d3 k3 r0 {1 ]) R0 U
一、 自我介绍(★★★★★)........................................................................................................ 1700 F7 N- o( M; G0 j
+ B& ~- d0 L; h' w3 T
1 E: Q+ L/ B% [: I8 K% C2 C侵权联系与免责声明1、本站资源所有言论和图片纯属用户个人意见,与本论坛立场无关
1 w* R r: e4 r( y" i2、本站所有资源收集于互联网,由用户分享,该帖子作者与瑞客论坛不享有任何版权,如有侵权请联系本站删除
) T2 J( r! I( _& b3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责
- ^- S/ ?* m$ u6 m8 }8 @4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
8 T- o8 p4 `4 s5 \% V如有侵权联系邮箱:ruikelink@gmai.com! h2 k1 r1 [" ^/ X
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见" {) ]8 B k6 u; j7 S* o1 M7 _
F1 t/ V+ N8 W- n% ?" M
: k: u- _3 ]# p* }
4 T$ J8 v: X5 c! p5 ]! `/ q7 ^本资源由Java自学网收集整理【www.javazx.com】 |
|