- -10-内部类和静态内部类和匿名内部类,以及项目中的应用(32)
- -68-如何判断应用被强制杀死(32)
- -67-SQLite的基础操作。(32)
- -65-怎么在主线程中通知子线程-这样做有什么好处(32)
- -62-Bundle类简介(32)
- -61-RemoteView的应用(32)
- -60-怎么编译安卓系统(32)
- -59-描述一个完整的Androidactivitylifecycle(32)
- -54-Intent类简介____(32)
- -53-跟activity和Task有关的Intent启动方式有哪些-其含义____(32)
- -52-Uri类简介____(32)
- -51-android中有哪几种解析xml的类-官方推荐哪种-以及它们的原理和区别。(32)
- -46-Android系统为什么会设计ContentProvider,进程共享和线程安全问题(32)
- -45-是否熟悉Androidjni开发,jni如何调用Java层代码(32)
- -43-大体说清一个应用程序安装到手机上时发生了什么(32)
- -64-Android子线程更新UI的方式有几种(379)
- -41-SharedPreference是进程同步的嘛,有没有什么方法进程同步(488)
- -56-一条最长的短信息约占多少byte(509)
- -57-如何将SQLite数据库(dictionary.db文件)与apk文件一起发布(703)
- -42-画出Android的大体架构图(853)
- -69-Asset和res目录的区别(881)
- -58-同步和异步有何异同,在什么情况下分别使用他们(1136)
- -63-ViewHolder为什么要被声明成静态内部类(1208)
- -47-Activity之间的通信方式(1266)
- -48-Application和Activity的Context对象的区别(1744)
- -66-Activity的缓存方法是怎么样的(2392)
- -44-数据库数据迁移(2458)
- -50-Android中数据储存方式(4567)
- -55-android系统的优势和不足(5224)
- -1-谈谈classloader(5883)
- -253-Activity在正常和异常情况下的声明周期(6675)
- -49-Fragment之间传递数据的方式(7281)
- -34-Java标识符命名规则-【已认领】(32)
- -33-反射的用途(32)
- -32-内部类访问局部变量的时候,为什么变量必须加上final修饰(32)
- -29-是否可以从一个static方法内部发出对非static方法的调用(32)
- -28-运行时异常与一般异常有何异(32)
- -26-error和exception有什么区别(32)
- -25-sleep()和wait()有什么区别(32)
- -24-内部类可以引用它的包含类的成员吗-有没有什么限制(32)
- -21-两个不重复的数组集合中,求共同的元素(32)
- -20-stringtointeger(32)
- -19-lock原理(32)
- -18-synchronize的原理(32)
- -17-Object类的equal和hashcode方法重写,为什么(32)
- -16-静态内部类的设计意图(32)
- -14-NIO(32)
- -13-Java中内存区域与垃圾回收机制(32)
- [-12-Java设计模式,观察者模式已认领](https://github.com/android-exchange/Android-Interview/tree/master/bak/resources/sourcefile/基本知识点3初中级/java基础/-12-Java设计模式,观察者模式[已认领].md)
- -7-JVM内存模型(214)
- -6-垃圾收集机制(664)
- -31-Json有什么优势(730)
- -9-Java注解(758)
- -27-谈谈final,finally,finalize的区别(825)
- -30-重载和重写的区别(938)
- -11-HashMap的实现,与HashSet的区别(1003)
- -2-动态加载(1144)
- -8-volatile用法(1842)
- -3-类加载(2428)
- -22-Java中String的了解(2611)
- -4-App是如何沙箱化,为什么要这样做(3019)
- -23-”==”和equals方法究竟有什么区别(3024)
- -15-String为什么要设计成不可变的(3396)
- -5-Java中对象的生命周期(3468)
- -98-简述tcp四次挥手(32)
- -97-有没有尝试简化Parecelable的使用(32)
- -96-Android为什么引入Parcelable(32)
- -91-ConstraintLayout的特性、使用场景(32)
- -90-RecyclerView的使用,原理,优化(32)
- -89-ListView卡顿的原因以及优化策略(32)
- -88-ListView图片加载错乱的原理和解决方案(32)
- -40-layout_gravity和gravity的区别(32)
- -39-layout_weight怎么理解(32)
- -38-微信上小红点的原理(32)
- -37-微信主页面的实现方式(32)
- -36-LinearLayout、RelativeLayout、FrameLayout、AbsoluteLayout、TablelLayout的特性、使用场景(32)
- -35-动态布局(32)
- -82-Activity上有Dialog的时候按Home键时的生命周期(32)
- -81-Fragment各种情况下的生命周期(32)
- -80-AlertDialog,popupWindow,Activity区别(32)
- -79-EventBus作用,实现方式,代替EventBus的方式(32)
- -77-Activity与Fragment之间生命周期比较(32)
- -76-四大组件(32)
- -75-前台切换到后台,然后再回到前台,Activity生命周期回掉方法。弹出Dialog,生命周期回掉方法(32)
- -74-下拉状态栏是不是影响Activity的生命周期,如果onStop的时候做了网络请求,OnResume的时候怎么恢复(32)
- -73-EventBus实现原理(32)
- -72-server生命周期(32)
- -70-BroadcastReceiver,LocalBroadcastReceiver区别(32)
- -83-横竖屏切换的时候,Activity各种情况下的生命周期(528)
- -100-Android中的几种动画(985)
- -253-优化自定义View(1629)
- -92-ListView重用的是什么(2055)
- -95-序列化的作用,以及Android两种序列化的区别(3361)
- -78-广播的使用方式,场景(4157)
- -99-网络分层(4985)
- -71-广播(动态注册和静态注册区别,有序广播和标准广播)(14045)
- -131-进程和Application的生命周期(32)
- -130-Android上的Inter-Process-Communication跨进程通信时如何工作的(32)
- -129-视频加密传输(32)
- -225-Android属性动画特性(32)
- -224-Android动画原理(32)
- -207-点击事件拦截,但是想传到下面的View,如何操作(32)
- -206-事件传递机制的介绍(32)
- -205-线程间操作List(32)
- -204-Android事件传递机制(32)
- -198-SurfaceView和View的区别(32)
- -197-如何实现Fragment的滑动(32)
- -196-View渲染(32)
- -195-介绍SurfView(32)
- -200-Binder机制介绍(32)
- -216-AIDL机制(32)
- -215-系统启动流程Zygote进程-7SytemServer进程-7各种系统服务-7应用进程(32)
- -246-如何取消AsyncTask(32)
- -245-AsyncTash机制(32)
- -241-singleTask启动模式(32)
- -240-Activity栈(32)
- -239-App启动流程,从点击桌面开始(32)
- -238-统计启动时长,标准(32)
- -86-Android中开启摄像头的主要步骤(32)
- -84-权限管理系统(底层的权限是如何进行grant的)(32)
- -94-封装View的时候怎么知道View的大小(32)
- -93-计算一个View的嵌套层级(32)
- -243-热修复,插件化(794)
- -244-怎么启动service,service和Activity怎么进行数据交互(1539)
- -199-Bundle机制(1920)
- -242-Activity启动模式(3101)
- -87-请解释下Android程序运行时权限与文件系统权限的区别。(8173)
- -85-动态权限适配方案,权限组的概念(23828)
- -250-Android性能优化之移动网络优化(0)
- -120-MySQL有哪些日志,分别是什么用处(32)
- -118-海量数据,内存中放不下,怎么求出(32)
- -117-Glide源码(32)
- -116-性能优化如何分析systrace(32)
- -115-用IDE如何分析内存泄漏(32)
- -114-内存泄露的可能原因(32)
- -113-ViewPager使用细节,如何设置成每次值初始化当前的Fragment,其他的不初始化(32)
- -112-ANR怎么分析解决(32)
- -110-ANR的原因(32)
- -108-Android相关优化(如内存优化、网路优化、布局优化、点亮优化、业务优化)(32)
- -107-图片加载库相关,bitmap如何处理一张大图,如一张30mb的大图,如何预防OOM(32)
- -106-RecyclerView和ListView的区别,性能(32)
- -104-性能优化,怎么保证应用启动不卡顿(32)
- -103-如何保持应用的稳定性(32)
- -102-图片加载原理(32)
- -101-LRUCache原理(32)
- -141-Android中进程内存的分配,能不能自己分配定额内存(32)
- -140-简述IPC(32)
- -139-线程和进程的区别(32)
- -138-进程间通信的机制(32)
- -137-App唤醒其他进程的实现方式(32)
- -136-进程间通讯的方式(32)
- -135-进程保活(32)
- -134-进程状态(32)
- -133-进程与线程(32)
- -132-进程调度(32)
- -109-App启动崩溃异常捕捉(703)
- -119-Android性能优化之启动速度优化(4179)
- -251-Android性能优化之布局优化(4911)
- -105-怎么去除重复代码(5618)
- -111-内存泄漏与内存溢出相关知识点(9741)
- -252-Android性能优化之内存优化(0)
- -202-消息机制(32)
- -194-二叉树如何转换为森林(32)
- -193-快速排序、堆排序的时间复杂度,空间复杂度(32)
- -192-合并多个单有序链表(假设都是递增的)(32)
- -191-反转一个单项链表(32)
- -190-差值器&估值器(32)
- -189-hashmap如何put数据(hashmap从源码角度讲解)(32)
- -188-Hashmap数据结构(32)
- -187-算法判断单链表成环与否(32)
- -186-List和Map的实现方式以及储存方式(32)
- -185-一个无序,不重复数组,输出N个元伍,使得N个元素的和相加为M,给出时间复杂度、空间复杂度有。手写(32)
- -184-TreeMap具体实现(32)
- -183-集合的接口和具体实现类,介绍(32)
- -182-二叉树,给出根节点和目标节点,找出从根结点到目标节点的路径(32)
- -181-数据结构中堆的概念,堆排序(32)
- -180-ArrayList和LinkedList的区别。以及应用场景(32)
- -179-x个苹果,一天只能吃一个、两个、或者三个,问多少天吃完(32)
- -178-链表反转(32)
- -177-排序,堆排序实现(32)
- -176-判断环(链表环)(32)
- -175-常用数据结构简介(32)
- -174-B树、B+树(32)
- -173-二叉树深度遍历与广度遍历(32)
- -172-集合Set实现Hash怎么防止碰撞(32)
- -171-树8B+树的介绍(32)
- -170-排序,快速排序的实现(32)
- -169-HashMap实现原理,ConcurrentHashMap的实现原理(32)
- -168-HashMap源码,SpareArray原理(32)
- -203-handler发消息给子线程,looper怎么启动(1426)
- -249-Android主线程中Looper死循环为什么不会造成ANR(8636)
- -201-Handler机制(10940)
- -166-ActivityThread相关(32)
- -164-如何实现线程同步(32)
- -163-为什么要有线程,而不是仅仅用进程(32)
- -162-Android线程有没有上限,线程池的上限(32)
- -161-多线程8怎么用、有什么问题要注意(32)
- -159-wait3notify(32)
- -158-HashSet与HashMap怎么判断集合元素重复(32)
- -157-List,Set,Map的区别(32)
- -155-ReentrantLock的内部实现(32)
- -154-ReentrantLock、synchronized和volatile(32)
- -153-死锁的概念,怎么避免死锁(32)
- -152-staticsynchronized方法的多线程访问和作用,同一个类里面两个synchronized方法,两个线程同时访问的问题(32)
- -151-多线程断点续传原理(32)
- -150-多线程(关于AsyncTask缺陷引发的思考)(32)
- -149-synchronized用法(32)
- -147-CAS介绍java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁得一种乐观锁(32)
- -146-并发集合了解哪些(32)
- -145-死锁(32)
- -144-Java线程池(32)
- -142-ThreadLocal原理(32)
- -223-什么是aar_aar是jar有什么区别(32)
- -222-RxJava的作用,与平时使用的异步操作来比,优势(32)
- -221-RxJava简介及其源码解读(32)
- -220-okhttp源码(32)
- -219-RxJava的功能与原理实现(32)
- -218-用到一些开源框架,介绍一个看过源码的,内部实现过程(32)
- -217-RxJava(32)
- -143-synchronized与Lock的区别(1113)
- -165-线程死锁的4个条件(1225)
- -160-线程如何关闭,以及如何防止线程的内存泄漏(5499)
- -148-开启线程的三种方式,run()和start(方法区别)(6078)
- -156-手写生产者3消费者模式(9826)
- -248-Okhttp和Retrofit介绍这两个框架的作用和联系(0)
- -237-什么是Dalvik虚拟机(32)
- -236-垃圾回收机制与调用System.gc()区别(32)
- -235-JAM内存模型(32)
- -233-AndroidManifest的作用与理解(32)
- -232-逻辑地址与物理地址,为什么使用逻辑地址(32)
- -231-JVM内存区域开线程影响那块内存(32)
- -230-类加载机制(32)
- -229-对Dalvik、ART虚拟机有基本的了解(32)
- -228-GC回收策略(32)
- -227-OSGI(32)
- -226-JVM(32)
- -247-描述清点击AndroidStudio的build按钮后发生了什么(32)
- -128-如何保证Service在后台不被kill(32)
- -127-模式MVP,MVC介绍(32)
- -126-项目组件化的理解(32)
- -125-设计模式相关(例如Android中那里是用了观察者模式,单利模式相关)(32)
- -124-抽象类和接口的区别(32)
- -122-双亲委派模型(32)
- -214-移动端获取数据优化的几个点(32)
- -213-Websocket相关以及与socket的区别(32)
- -212-TCP与UDP区别与应用(三次握手和四次挥手)涉及到部分细节(如client如何确定自己发送的消息被server收到)(32)
- -211-https相关,如何验证证书的合法性,https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解(32)
- -210-网络请求缓存处理,okhttp如何处理网络缓存的(32)
- -209-TCP3UDP的区别(32)
- -208-Https请求慢的解决办法,DNS,携带数据,直接访问IP(32)
- -121-模块化实现(好处、原因)(4596)
- -248-Android中Https加密原理相关(4718)
- -167-为什么不能在子线程更新UI(4982)
- -123-MVP模式(5398)
- -234-强引用、软引用、弱引用、虚引用之间的区别(8009)