CocosCreator的踩坑之旅

重新安装显卡驱动 参考: http://forum.cocos.com/t/cocos-creator/35693/8 http://www.cocoachina.com/bbs/read.php?tid-457588.html

2017-01-11 17:18:03

阅读数 2588

评论数 0

Android中View,SurfaceView和GLSurfaceView绘图的区别

转载:https://zhidao.baidu.com/question/626501648785925724.html     Android游戏开发中常用的三种视图是:View、SurfaceView和GLSurfaceView,区别如下:     View:显示视图,内置画布,提供图形绘制...

2016-12-24 16:03:13

阅读数 1190

评论数 0

GUI系统总结

GUI系统之SurfaceFlinger 一、整体架构 1. Linux内核提供了framebuffer的显示驱动,fb0表示第一个显示屏; 2. Android的HAL层提供了Gralloc,包括fb和gralloc两个设备。前者负责打开内核中的framebuffer、初始化配置、并提供了...

2016-12-22 10:14:05

阅读数 1423

评论数 0

常见Layout的LayoutParams总结

参考: Android MarginLeft与MarginStart的区别 http://blog.csdn.net/zhufuing/article/details/40181815 常见Layout的LayoutParams总结 http://haking.iteye.com/blog/11...

2016-12-17 22:15:29

阅读数 246

评论数 0

ViewGroup和View以及TouchDelegate的触摸事件源码简析

参考: 浅尝安卓事件分发机制 http://blog.csdn.net/zhaizu/article/details/50489398 深入Android开发之--理解View#onTouchEvent https://my.oschina.net/banxi/blog/187267?p=1 ...

2016-12-15 20:14:36

阅读数 195

评论数 0

GestureDetector分析

public class GestureDetector { public interface OnGestureListener { //单纯的手指按下时触发 boolean onDown(MotionEvent e); //按下一段时间...

2016-12-15 14:42:14

阅读数 157

评论数 0

Scroller的用法,VelocityTracker用法,以及滑动冲突的处理

参考:http://blog.csdn.net/yanghuinipurean/article/details/50419455 /** * 仿微信刷新 * @author Nipuream */ public class WXLayout extends LinearLayout{ ...

2016-12-14 21:36:21

阅读数 220

评论数 0

SparseArray分析

SparseArray是android里为 这样的Hashmap而专门写的类,目的是提高效率,其核心是折半查找函数(binarySearch)。 满足下面两个条件我们可以使用SparseArray代替HashMap: 1. 数据量不大,最好在千级以内 2. key必须为int类型或者long,这...

2016-12-14 14:47:56

阅读数 177

评论数 0

AsyncTask分析

1. 调用AsyncTask的execute方法,实际上是传入了doInbackground执行所需的参数,内部继续调用了Executor的execute方法来执行内部定义好的FutureTask对象。而FutureTask执行的是内部定义好的WorkerRunnable对象,WorkerRunn...

2016-12-13 22:17:58

阅读数 115

评论数 0

ThreadLocal和同步异步的解释

1. ThreadLocal不是用来解决对象共享访问问题的,而主要是提供了保持对象的方法和避免参数传递的方便的对象访问方式。归纳了两点:  a. 每个线程中都有一个自己的ThreadLocalMap类对象,可以将线程自己的对象保持到其中,各管各的,线程可以正确的访问到自己的对象。  b. 将一个共...

2016-12-13 18:34:34

阅读数 607

评论数 0

Android消息机制的疑难点说明

参考: http://blog.csdn.net/chwan_gogogo/article/details/46953575 Java层 http://blog.csdn.net/chwan_gogogo/article/details/46953563 专讲C层文件描述符 http://blog...

2016-12-12 22:58:11

阅读数 249

评论数 0

Java对象池的简单实现

1. 对象池 当调用对象时,不使用常规的new 构造子的方式,而是通过一个对象池操作。 即如果池中存在该对象,则取出;如果不存在,则新建一个对象并存储在池中。当使用完该对象后,则将该对象的归还给对象池。 这里会存在几个问题,必须注意。 Tips 1,考虑多线程状态下的存取对象; Tips 2,考虑...

2016-12-12 14:46:56

阅读数 1050

评论数 0

ANR初步探讨

ANR(Application Not Responding)定义 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也...

2016-12-12 11:40:26

阅读数 109

评论数 0

container_of分析

#define container_of(ptr, type, member) ({ \const typeof( ((type *)0)->member ) *__mptr = (ptr); \(type *)( (char *)__mptr - offsetof(type,member)...

2016-12-12 10:13:28

阅读数 107

评论数 0

Android开发艺术探索》综合技术,JNI和性能优化小结

1. 当crash发生时,系统就会调用UncaughtExceptionHandler的uncaughtException方法,可以读取到异常信息; 实现UncaughtExceptionHandler接口,在uncaughtException(Thread t, Throwable ex),ex...

2016-12-08 14:04:53

阅读数 515

评论数 0

《Android开发艺术探索》第十二章Bitmap加载和Cache小结

1. Bitmap的高效加载 1)BitmapFactory提供了decodeFile(decodeFileDescriptor),decodeResource,decodeStream和decodeByteArray分别用于从文件、资源、输入流以及字节数组中加载Bitmap对象; 2)修改Bit...

2016-12-08 10:20:43

阅读数 268

评论数 0

《Android开发艺术探索》第十章Android的消息机制、十一章线程和线程池小结

1. Handler可以将更新UI的操作切换到主线程,MessageQueue采用单链表来存储消息,Looper回无限循环的查找新消息,ThreadLocal可以在每个线程中存储数据,Handler的send被调用时,会调用MessageQueue的enqueueMessage方法将这个消息放入消...

2016-12-07 16:50:07

阅读数 114

评论数 0

《Android开发艺术探索》第九章四大组件的工作过程小结

1. 运行状态 1)除了BroadcastReceiver以外,其他三种必须在AndroidManifest中注册,ContentProvider的调用不需要Intent; 2)Activity通过显示或者隐式Intent启动,有四种启动模式,通过finish方法结束,主要作用是展示界面和用户交互...

2016-12-07 11:11:27

阅读数 163

评论数 0

《Android开发艺术探索》第八章Window和WindowManager小结

1. 概述 Window是一个抽象类,具体实现是PhoneWindow,通过WindowManager创建。Window的具体实现位于WMS中,WindowManager和WMS是IPC交互过程。 通过mWindowManager.addView(view, layoutParams);添加一个W...

2016-12-06 21:55:05

阅读数 207

评论数 0

《Android开发艺术探索》第四章View的工作原理小结

1. 外部拦截法:重写父容器的onInterceptTouchEvent,在ACTION_MOVE中根据滑动方向判断是否需要由父容器拦截; 2. 内部拦截法:父容器不拦截任何事件,如果子元素需要此事件就消耗掉,否则设置为让父元素消耗; 重写子元素的dispatchTouchEvent方法,在ACT...

2016-12-06 15:33:59

阅读数 143

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭