- 博客(13)
- 资源 (5)
- 问答 (4)
- 收藏
- 关注
原创 Java面试-1 java基础知识点
八基本数据类型和封装类byte:1字节short:2字节int:4字节long:8字节float:4字节double:8字节char:2字节boolean:1字节注意:英文字符栈1字节,中文汉子或标点占2-3字节equals和====:用于比较基本数据类型值是否相等和引用类型是否指向同一个对象(内存中的地址)equals:Object类的方法,默认比较两个对象的内存地址是否相等。很多类如Strin...
2018-04-18 15:27:33 433
原创 Android面试-12 Android性能优化
性能问题内存泄漏:分配出去的内存(一些可达的,无用对象)无法回收。可以借助MAT内存泄漏分析工具分析。内存溢出:程序要求的内存超出了系统所能分配的内存范围。内存泄漏时内存溢出的一种诱因,也有其他原因造成内存溢出。ANR:过多使用CPU资源,执行大量耗时任务,导致手机卡顿甚至无响应。我们可以通过产生的traces.txt定位产生ANR的问题原因。性能优化方法布局优化减少无用布局和层级,用一些低耗能V...
2018-04-18 13:17:24 166
原创 Android面试-11 Bitmap和缓存
高效加载Bitmap采用BitmapFactory.Option来加载合适尺寸图片,按照一定的采样率加载缩小后的图片Android缓存策略添加:第一次从网络加载后,缓存到磁盘和内存获取:先检查内存中是否有,若没有然后检查磁盘,若没有请求网络删除:LRU策略,缓存满后淘汰近期最少用的缓存对象。内部采用LinkedHashMap以强引用的方式存储外界缓存对象。图片加载器同步加载:先检查是否在主线程,在...
2018-04-18 13:04:14 212
原创 Android面试-8 多进程通信
Android多进程进程和线程进程:是运行中的程序,资源分配的单元,进程拥有的资源多,进程间的切换代价大线程:是进程内部的一个执行序列,是cpu的基本调度单位,拥有资源小,切换代价小,多个线程共享进程的资源使用多进程通信场景需要向其他应用获取数据某些应用模块需要单独运行在进程中(WebView优化,后台进程)加大一个应用可使用的内存(获取多份内存空间)多进程原理和产生的问题Android为每个进程...
2018-04-18 12:52:40 419
原创 Android面试-7 多线程
Android中的线程Thread及其子类可以继承Thread或者实现Runnable的方式开启新线程AsyncTask底层是两个线程池和一个静态Handler实现,一个线程池用于任务排队,另一个用于真正执行任务。只有doInBackground方法是在线程池中执行异步任务,其他回调方法都在主线程运行,AsyncTask类和对象一定要在主线程加载和创建,execute方法一定要在主线程调用,且只能...
2018-04-18 11:31:41 175
原创 Android面试-5 Android消息机制
消息机制概述Handler利用当前线程的Looper创建内部消息循环系统,主要负责发送和处理消息。另外,也可以通过一个Looper创建一个Handler,这样handler发送的消息就会在Looper所在的线程执行。MessageQueue以队列的形式(内部存储结构为单链表)存储和操作消息列表,包含插入和读取消息两个操作,读取是一个无限循环的方法,若消息队列没有消息则一直阻塞,有消息则读取并将其移...
2018-04-17 18:38:56 194
原创 Android面试-4 ContentProvider
简介共享型组件,用于其他组件乃至其他应用共享数据,内部需要实现CRUD操作,并且维持了一套数据集合,主要CRUD要处理好对线程同步,因为这些方法是在Binder线程池中被调用的...
2018-04-17 18:05:09 314
原创 Android面试-3 Service
简介计算型组件,有两启动和(用于执行后台计算)绑定(用于其他组件和Service交互)两种运行状态,前者通过startService开启,后者通过bindService开启。注意多次绑定同一个Service,onBind只会调用一次...
2018-04-17 18:02:36 195
原创 Android面试-2 BroadcastReceiver
简介BroadcastReceiver是消息型组件,用于不同组件甚至不同应用传递消息,四大组件中,只有BroadcastReceiver既可以在AndroidManifest也可以在java代码中注册,其他的都必须在AndroidManifest中注册。基本操作定义广播接受者继承BroadCastReceiver重写onReceive注册广播静态广播:在AndroidManifest注册,应用安装...
2018-04-17 17:56:37 155
原创 Android面试-6 Android动画
View动画作用对象为View,有平移,旋转,缩放,透明度四种效果。可以通过基础Animation自定义View动画。应用如View的出场效果帧动画顺序播放一系列图像产生动画效果,先通过xml定义AnimationDrawable,再将其作为View背景最后,通过drawable.start()播放动画。切换动画Activity可以设定切换效果(Transaction),Fragment也可以添加...
2018-04-17 16:49:19 365
原创 Android面试-10 View工作原理
基本概念ViewRoot对应ViewRootImpl类,是连接WindowManager和DecorView的纽带,View的三大流程由ViewRoot的performTraversals开始,依次调用performMeasure,performLayout,performDraw完成顶级View的三大绘制流程。DecorView顶级View,内部是竖直方向的LinearLayout,包含标题栏和...
2018-04-17 16:07:29 264
原创 Android面试-9 View事件体系
View的事件分发public static dispatchTouchEvent(MotionEvent e){ boolean consume = false; if(onInterceptTouchEvent(e)) { consume = onTouchEvent(e); } else { Consume = child.dispat...
2018-04-17 15:36:32 253
原创 Android面试-1 Activity生命周期和启动模式
生命周期分析典型情况ActivityA中打开ActivityB:ActivityA执行onPause,onSaveInstance,onStop,ActivityB执行onStart,onResume。注意ActivityB的onResume必须在ActivityA的onPause执行完后才会执行, ActivityA中打开ActivityB,ActivityB为透明主题,Activi...
2018-04-16 21:06:39 195
java jdbc插入返回主键错误
2016-11-29
asynchttpclient 同时发送了post和get
2016-05-19
genymotion模拟器启动失败
2016-05-04
XMPP中creatChat创建通信的实现问题
2016-04-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人