阅读Android开发艺术日记
刘栋文
野生程序员, 业界砖家。
展开
-
[看书日记20151227]优化列表的卡顿现象 , drawable
优化列表的卡顿现象:1.对listview或gridview设置setOnScrollListener,在onScrollStateChanged方法中判断列表是不是处于滑动状态,非滑动状态才会加载图片:Android 的Drawable:1. BitMapDrawable的titleMode可以实现倒影效果:2,LayerDrawable可以显示层次化的叠加效果:3.原创 2015-12-27 23:58:33 · 451 阅读 · 0 评论 -
[看书日记20160113]Binder连接池,CrashHandler,multidex
1.Binder连接池,服务端一个Service,提供一个queryBinder接口,能根据业务模块的特征来返回相应的Binder对象;2.实现UncaughtExceptionHandler,收到哪些未被捕获的异常; p4543.multidex解决65536的问题,但是书中没有说名eclipse中怎么用,我也知道studio是主流啊。- -!!移动开发是大势所趋了,趁现在有原创 2016-01-13 01:19:22 · 506 阅读 · 0 评论 -
[看书日记20160112]Binder
1.Binder会把传递过来的对象重新转化并生成一个新的对象;2.解注册:RemoteCallbackList;3.实现ContentProvider,实现:onCreate,query,update,insert,delete,和getType4.TCP协议是面向连接的协议;原创 2016-01-12 01:17:58 · 415 阅读 · 0 评论 -
[看书日记20151227]Layout的过程,draw的过程,自定义view
Layout的过程:1.setFrame确定四个定点, Draw过程:1.步骤:1)绘制背景,2)绘制自己,3)绘制children,4)绘制装饰2.当明确知道一个ViewGroup需要通过onDraw来绘制内容时,要国币WILL_NOT_DRAW标记位(setViewnotDraw方法)自定义view:1.让其支持wrap_content(就是在这个模式下原创 2015-12-27 01:29:26 · 438 阅读 · 0 评论 -
[看书日记20151226]MeasureSpec和LayoutParams的对应关系 , View的工作流程
MeasureSpec和LayoutParams的对应关系 :1.DecorView 由窗口的尺寸和自身的LayoutParams决定MeasureSpec2.普通view由父容器的MeasureSpec和自身的LayoutParams决定自己的MeasureSpec(查看普通View的MeasureSpaec的创建规则p182) View的工作流程:1.View的原创 2015-12-26 01:20:53 · 497 阅读 · 0 评论 -
[看书日记20160111]没心情啊。。Messenger,AIDL
Messenger向服务端发送消息类型为Message对象,Message中能使用的载体只有what,arg1,arg2,Bundle以及replyTo;Messenger不适用于大量的并发请求;原创 2016-01-11 01:12:49 · 563 阅读 · 1 评论 -
[看书日记20160110]Serializable,Parcelable,Binder,IPC
。。。加大每天看书的时间吧,。。原创 2016-01-10 01:27:24 · 629 阅读 · 0 评论 -
[看书日记]上下滑动冲突的内部实现 和 view的工作原理
内部实现上下滑动冲突的事件拦截也是通过计算水平和竖直的距离的判断来解决;知识点: 1 .requestDisallowInterceptTouchEvent(true/ false) 父viewgroup调用这个方法,fasle为拦截2. 一个判断listview是否滑动到顶部, 奇怪的是为什么要判断是不是getTop>=0? 是不是就是说绘制成功?就是说显示出来?View的工原创 2015-12-25 00:26:21 · 372 阅读 · 0 评论 -
[看书日记20160108]ipc机制,imageLoader的实现
imageLoader主要是将源码的实现的,具体没什么好说的,明天把源码撸一撸就差不多了ipc机制看到了不同进程中的数据交互,明天再写吧原创 2016-01-09 01:43:44 · 529 阅读 · 0 评论 -
[20151224]顶级view对点击事件的分发 和View的滑动冲突
1.onInterceptTouchEvent 不是每次事件都会被调用; dispatchTouchEvent 反而是每次都被调用2.ontouchListener 会优先于ontouchEent执行, 当然前提是不为null3.标记位FLAG_DISALLOW_INTERCEPT可以用来解决滑动冲突:parent.requestdia....(好了,太晚了, 写到这吧,其实不是很理解原创 2015-12-24 00:30:50 · 480 阅读 · 0 评论 -
[看书日记20160107]安卓的线程和线程池, bitmap的加载和cache
1. asyncTask中有两个线程池;2.AsyncTask是串行进行任务,如果要并行,就要用executeonExecutor3.每次启动IntentService,她的onStartCommand方法就会调用一次;4.stopSelf(int startId)会等待所有的消息处理完毕之后才终止服务;5.Android中有4个线程池:5.1)FixedThreadPool,原创 2016-01-07 23:58:09 · 429 阅读 · 0 评论 -
[看书日记20160107]消息机制
1. 在不同线程中访问同一个ThreadLocal对象,通过ThreadLocal获取到的值却是不一样的;2.创建looper:Looper.prepare();Handler handler = new Handler();Looper.loop();3.Handler handler = new Handler(callback);4.后台线程如果不涉及原创 2016-01-07 01:19:51 · 331 阅读 · 0 评论 -
[看书日记20160106]Activity的Flags , IntentFilter ,Android的消息机制
Activity的Flags , IntentFilter是熟悉的不得了了...就写几个容易忘掉的和重要的点吧:1. 为了activity能够接收隐式调用,必须在intent-filter中指定"android.intent.category.DEFAULT"这个category2. PackageManager的resolveActivity 方法或者Intent的resolveAc原创 2016-01-06 01:07:09 · 482 阅读 · 0 评论 -
[看书日记20160104]四大组件的工作过程, Activity的生命周期和启动模式
1月1号到1月3号,回家,没网,就没更新了;1月4号,刚回到公司,公司就给我们好多员工一个大惊喜:裁员了!...上个月20多号有人叫我到他的公司我没去,结果让公司给宰了(公司连续亏损,所以只好对我们动刀子了...)无所谓了;四大组件的工作过程看了之后还不是很理解, 至于生命周期和启动模式我可是熟得不得了了.这几天找工作,加油!原创 2016-01-05 01:21:46 · 348 阅读 · 0 评论 -
[看书日记20160101]新年第一发,性能优化
1. anr日志分析(data/anr目录有)2.使用Android特有的数据结构3.MAT分析工具4.命名规范(参考安卓的源代码)5.代码分层,每层只有少量代码,这样就实现了单一职责6.推荐的书:大话设计模式 , 刚过生日没几天就又到元旦了, 年年岁岁花相似, 岁岁年年人不同,新的一年,好好工作, 攒钱啊......原创 2016-01-01 01:40:06 · 376 阅读 · 0 评论 -
[看书日记20151231]属性动画工作原理, 性能优化 & 对12月的感想
ObjectAnimator.ofFloat(view, "rotationX", 0.0F, 360.0F).setDuration(1000).start(); 这个例子很简单,针对view的属性rotationX进行持续时间为1000ms的0到360的角度变换。属性动画的工作原理这部分看不懂....p286性能优化:基本上能犯的错误我都犯了...[十二月快结束了,原创 2015-12-31 00:56:13 · 398 阅读 · 0 评论 -
[看书日记20151230]属性动画, 插值器,估值器,属性动画的监听
总的来说不是很理解啊, 因为涉及到的东西比较多,还是比较陌生的:1.动画类:ValueAnimator,ObjectAnimator , AnimatorSet1) 几个属性动画一起出现和单个出现的例子:2. , , 插值器和估值器对属性动画的监听:1.AnimatorUpdateListener2.AnimatorListener原创 2015-12-30 00:38:44 · 409 阅读 · 0 评论 -
[看书日记20151229] Android动画
View动画:平移(translate),缩放(scale),旋转(rotate),透明度(alpha)问题:interpolator这个插值器是干嘛用的???1.实现setAnimationListoner方法来个view设置监听;2.LayoutAnimation,设置之后,它的子元素都会具有这种动画效果;(在xml中指定,或者,通过LayoutAnimationContr原创 2015-12-29 01:02:00 · 326 阅读 · 0 评论 -
[看书日记20160114]RemoteViews , 动态加载, JNI , NDK ;
1. 几个标记:FLAG_ONE_SHOT , FLAG_CANCEL_CURRENT , FLAG_UPDATE_CURRENT;2.RemoteViews没有提供findViewByid , 所以提供set方法来完成修改view 元素;3.RemoteViews只支持PendingInten ,不支持onClickListener;原创 2016-01-14 00:07:53 · 341 阅读 · 0 评论