关闭
当前搜索:

activity的启动模式,startactivity的过程

Android:launchMode,startactivity的过程        用于指定Activity被启动的方式,主要包括两个方面:即Activity是否为单实例,及Activity归属的task。不管是那种方式,被启动的Activity都要位于Activitytask的栈顶。        1),standard,默认状态,这种模式下Activity是多实例的,系统总是启动一个新的Activity来满足要求,即...
阅读(132) 评论(0)

android 中c/c++层用到的同步机制

Android 中的同步机制。        什么是同步,什么是互斥?        如果多个(包括两个)进程间存在时序关系,需要协同工作以完成一项任务,就叫同步。        如果他们之间并不满足协同的条件,而只是因为共享具有排他性的资源时所产生的关系,就叫互斥。        C/C++层用到的同步机制。 一,Mutex 进程间的同步Mutex,Mutual Exclusion的...
阅读(100) 评论(0)

android事件处理,对事件的接收处理,(6)

六,对事件的接收,从ViewRootImpl.java 说起。        为什么要从ViewRootImpl说起呢?还记得前面说inputChannel通道的时候,是从添加一个窗口开始的,那么添加窗口就是从ViewRootImpl的setView开启的。        ViewRootImpl.java public void setView(View view,WindowManage...
阅读(106) 评论(0)

android事件处理,把事件通知到焦点窗口,(5)

五,接下来的问题是InputDispatch是怎么把事件通知到到焦点窗口InputTarget的呢? 先看下InputTarget的定义, InputDispatcher.h 一个inputtarget表明了怎样把一个输入事件分发给一个特定的窗口。 struct InputTarget {        enum{               //这个flag指示 事件应该发给前台应用...
阅读(108) 评论(0)

android事件处理,InputDispatch怎么处理事件的?(4)

四,InputDispatch怎么处理事件的? InputDispatch的循环同样是通过InputDispatchThread的ThreadLoop调用dispatchOnce实现的。 在分发事件的处理中,如果事件类型是TYPE_KEY,将分发给dispatchKeyLocked。 InputDispatcher.cpp voidInputDispatcher::dispatchOnce...
阅读(95) 评论(0)

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)
    个人资料
    • 访问:35687次
    • 积分:1711
    • 等级:
    • 排名:千里之外
    • 原创:132篇
    • 转载:38篇
    • 译文:0篇
    • 评论:9条
    最新评论