关闭
当前搜索:

Android事件处理过程,InputDispatchThread和InputReaderThread的协作,(3)

三、另一个线程InputDispatchThread,它的实现核心是InputDispatch。 InputDispatchThread和InputReaderThread是要协同工作的,那是怎么协作的呢? 前面说过这两个线程是在frameworks/native/services/inputflinger/InputManager.cpp中创建的。 InputManager::InputM...
阅读(99) 评论(0)

Android 事件处理过程,读取事件线程,(2)

二、InputReaderThread,        InputManager创建的两个主要线程之一InputReaderThread,它的主要工作是轮询设备节点是不是有新的事件发生,这是一个独立的循环线程。他的运行通过前面提到的 mReaderThread→run()这个run方法启动的,这个run方法接着调用_threadLoop,InputReaderThread的核心实现类是Input...
阅读(84) 评论(0)

Android 事件处理过程,(1)

Android 事件处理过程   一、事件主要包括按键-keyEvent,触屏-motionEvent, 事件投递的过程分为几个部分,源信息的采集->WindowManagerService分配->应用程序处理。 Android通过访问/dev/input节点来获知当前发生的事件。 WindowManagerService是窗口的管理者,记录了系统中所有窗口的状态信息,所以它能够判断应该...
阅读(77) 评论(0)

字符串排列,for循环嵌套递归

字符串的排列,就是给定一个字符串abc,输出能排列出的所有的字符串,如:abc,acb,bac,bca,cba,cab,写这个算法主要是想练习for循环中嵌套递归是怎么执行的,其实单纯的递归算法还是相对好理解的,你想找一个问题的递归算法,就是先把问题分成更小的子问题,并且这个分割还要是有限的,得有终止递归的条件,然后就是用什么方法解决最小的问题。 算法写出来后,验证算法的正确行,运行下最直观,也...
阅读(92) 评论(0)

环形链表,约瑟夫问题,(7)

一个经典的环形链表问题,有1,2,3,,,,n这些数字排成一个圆圈,从1开始每次删除第m个数字,求出这个圆圈中最后的数字。当然也可以说先从数字k开始,数到m删除这个数字,然后就从1开始,数到m删除这个数字,原理是一样。 这里是从1开始,数到m删除这个数字。 其实一个单向非循环链表也是可以模拟这个应用的,就是当指针知道最后一个节点时,让他转到头结点继续遍历。 下面的实例是环形链表,尾节点的下一...
阅读(96) 评论(0)

Camera (api1)的打开过程

Camera (api1)的打开过程   setModuleFromIndex()@CameraActivity.java à {           mPhotoModule = new PhotoModule(); mPhotoModule.init(this,mCameraPhotoModuleRootView);          mCurrentModule= mPh...
阅读(88) 评论(0)

链表合并(6)

有两个递增排序的链表,把他们合并后的节点仍然是递增排序的。 这个问题的思路比较简单,首先比较p1,p2头结点,把较小的节点(比如是p1)赋值给mergeHead节点,然后,把p1->Next跟p2比较,以此类推,每次比较两个节点,所以这里可以考虑用递归。 #include #include "ListCommon.h" using namespace std; ListNode* mer...
阅读(73) 评论(0)

反转链表,(5)

实现链表的反转,比如原来是 1->2->3->4->5;翻转后就是 5->4->3->2->1,...
阅读(43) 评论(0)

从尾部查找一个单向链表的第几个节点。(4)

给定一个单向链表,查找出从尾部开始的第k个节点,也就是倒数第k个节点,这里假定是从1开始计数的,即尾节点是第一个节点。 如图,假如要查找的是倒数第3个节点,一种思路就是从头结点开始遍历,遍历到尾部,得出链表的长度n,然后再从头开始遍历到 n-k+1个节点,就是倒数第k个,这么做要遍历链表两次。 还有一个思路,定义两个指针,p1st,p2d,开始都指向头结点,如果p1st指向尾部节点时,刚好...
阅读(73) 评论(0)

编码问题,unicode,string

转:http://blog.csdn.net/z69183787/article/details/25742307   unicode编码简而言之就是将每一个字符用16位2进制数标识。但是通常都用4位的16进制数标识。  例如:  1)中文字符串"你好"的unicode码为:\u60\u597d;  2)英文字符串"ab"的unicode码为:\u0061\u0062;  其中\u是标...
阅读(59) 评论(0)

用O(1)时间,删除一个链表节点(3)

有这样一个问题,给定一个单向链表的头结点pHead和要删除的节点pDeleted,但是要求在O(1)时间完成。 可能先想到的就是从头结点往前遍历,找到要删除的节点pDeleted,这样就知道了它的前后节点,但是这样的时间是O(n)。 这里的思路是: 把pDeleted的下一个节点pNode1的值赋给pDeleted,同时让pDeleted指向pNode2,然后把pNode1删掉,pDelet...
阅读(112) 评论(0)

callable,Executor,Future

转:http://blog.csdn.net/zhangzhaokun/article/details/6615454   在再度温习Java5的并发编程的知识点时发现,首要的就是把Runnable、Callable、Executor、Future等的关系搞明白,遂有了下述小测试程序,通过这个例子上述三者的关系就一目了然了。 在java5以后,一个可以调度执行的线程单元可以有三种方式定义: ...
阅读(60) 评论(0)

Android内存优化

转:http://www.cnblogs.com/ldq2016/p/6635774.html   智能手机发展到今天已经有十几个年头,手机的软硬件都已经发生了翻天覆地的变化,特别是Android阵营,从一开始的一两百M到今天动辄4G,6G内存。然而大部分的开发者观看下自己的异常上报系统,还是会发现各种内存问题仍然层出不穷,各种OOM为crash率贡献不少。Android开发发展到今天也是已经...
阅读(177) 评论(0)

Callable Feature

转:http://blog.csdn.net/ghsau/article/details/7451464    接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功...
阅读(64) 评论(0)

图片加载库-Glide

在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。 毫无疑问,这个库引起了我的兴趣。于是我花了一个晚上研究和把玩它,将它的实现原理分析清楚以后,我决定写一篇博文分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的...
阅读(86) 评论(0)
170条 共12页首页 上一页 ... 6 7 8 9 10 ... 下一页 尾页
    个人资料
    • 访问:35689次
    • 积分:1711
    • 等级:
    • 排名:千里之外
    • 原创:132篇
    • 转载:38篇
    • 译文:0篇
    • 评论:9条
    最新评论