Interview
LukaHan917
这个作者很懒,什么都没留下…
展开
-
Handler
一、作用1.执行计划任务,可以在预定的时间执行某些任务,可以模拟定时器;2.线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程时,你可以在你的子线程中拿到父线程中创建的Handler 对象,就可以通过该对象向父线程的消息队列发送消息了。由于Android要求在UI线程中更新界面,因此,可以通过该方法在其它线程中更新界面。原创 2016-06-25 17:49:34 · 168 阅读 · 0 评论 -
hybrid
混合编程:java和js代码相互调用;举例:网页中点击拨打电话;方式:1.android中的java代码调用webview中的javascript脚本,并可以传递参数;步骤:开启支持js,loadUrl加载;传递参数时自己拼接,string型要用单引号括起来;2.webview中的js调用本地的java代码,并可以传递参数;步骤:webview要绑定javascript接口原创 2016-07-01 12:51:18 · 518 阅读 · 0 评论 -
Android基础
1.架构层级原创 2017-05-11 12:18:55 · 208 阅读 · 0 评论 -
Retrofit+RxJava
Retrofit优点:1.直接封装javaBean;2.可以利用接口,方法和注解参数(parameter annotations)来声明式定义一个请求应该如何被创建;3.可自定义HttpClientbuilder.setClient(new AndroidApacheClient()) .setClient(new UrlConnectionClient())原创 2016-06-29 19:37:20 · 439 阅读 · 0 评论 -
自定义view流程
参考:http://www.jianshu.com/p/de127bdbed04转载 2017-02-15 17:52:16 · 211 阅读 · 0 评论 -
MVC,MVP,MVVM
M-V-X模式的通用原理:X是联通M和V的桥梁;X的不同模式主要是M和V之间的数据传递流程的不同MVC:1.V传送指令到C;2.C完成业务逻辑后,要求M改变状态;3.M将新的数据发送到V,用户得到反馈。所有通信都是单向的;缺点:activity既是C又是V,动态隐藏一个button都不能再xml中做,只能在activity中实现;M和V是可知的,原创 2016-06-29 20:47:08 · 233 阅读 · 0 评论 -
常用正则表达式大全
http://blog.csdn.net/onebigday/article/details/5429868转载 2016-10-28 11:45:12 · 186 阅读 · 0 评论 -
事件传递机制
1.事件传递的两种方式:隧道方式:从根元素依次往下传递直到最内层子元素或在中间某一元素中由于某一条件停止传递。冒泡方式:从最内层子元素依次往外传递直到根元素或在中间某一元素中由于某一条件停止传递。 2.分发逻辑:android对Touch Event的分发逻辑是View从上层分发到下层(dispatchTouchEvent函数)类似于隧道方式,然后下层优先开始处理Event(先转载 2016-07-01 12:04:14 · 255 阅读 · 0 评论 -
设计模式
单例模式:Application,第三方SDK的初始化,保证只有一个对象;getInstance();工厂模式:BitmapFactory抽象工厂:BaseActivity观察者模式:listener适配器模式:adapter建造者模式:new AlertDialog.Builder享元模式:Message.obtain();原创 2016-06-29 21:21:35 · 176 阅读 · 0 评论 -
内存泄漏
在生成对象的时候,必须先初始化父类的成员变量。内存泄漏:1.查询数据库没有关闭游标 2. 构造Adapter时,没有使用缓存的 convertView 3. Bitmap对象不再使用时调用recycle()释放内存4. 无用时没有释放对象的引用 5. 在Activity中使用非静态的内部类,并开启一个长时间运行的线程,因为内部类持有Activity的引用,会导致Ac原创 2016-06-27 20:48:33 · 165 阅读 · 0 评论 -
四种图片加载库的分析
可以加载图片的还有afinal和xutil的BitmapUtil,已经停止维护了。四种库:ImageLoader,Picasso,Glide,Fresico比较配置:Imgeloader较麻烦内存:Picasso占用内存很大,造成卡顿;其他ok小图片:大图片:Picasso和Fresico加载大于2M的图片时都不显示异步:缓存:glide默认使用rgb565节省空间原创 2016-06-29 10:48:40 · 388 阅读 · 0 评论 -
关于view绘制的draw()方法
draw()方法实现的功能流程:1、调用background.draw(canvas)绘制该View的背景2、调用onDraw(canvas)方法绘制视图本身(每个View都需要重载该方法,ViewGroup不需要实现该方法)3、调用dispatchDraw(canvas)方法绘制子视图(ViewGroup类已经为我们重写了dispatchDraw ()的功能实现,其内部会遍历每个子视原创 2016-06-25 17:06:03 · 696 阅读 · 0 评论