- 博客(17)
- 问答 (1)
- 收藏
- 关注
原创 Android多点触控
支持多指操作的时候处理的触摸事件除了DOWN、MOVE、UP、CANCEL之外,还需要关注POINTER_DOWN和POINTER_UP事件/** * A non-primary pointer has gone down. */ public static final int ACTION_POINTER_DOWN = 5; /** ...
2019-11-22 19:37:07 293
转载 Android——Bp,Bn概念
Bn意味着Binder Native 端Bp是Binder Proxy端,这两端会实现相同的接口,但Proxy端只是通过binder ipc发送一个binder transaction,native端是真正做事情,再将结果返回。Android用此机制实现高效的远程调用Bnn 就是native,这是一个怎样的类? 我们继承它的原因是为了实现一个接口,具体点说就是一个BnXXX对应一个IX...
2019-11-22 19:35:57 1482
原创 UI渲染流程+优化方案
一、CPU与GPU为什么会分化出GPU这个专门用来处理图像的计算处理单元?CPU需要很强的通用性来处理各种各样不同的数据类型,同时又要进行纷杂的数据运算的逻辑运算,以及各种的时序、中断处理,这些都让CPU的内部结构异常复杂。在CPU的内部有大量的空间被Cache占用,还有很大一部分被控制逻辑占用,剩下的逻辑计算单元还要处理很多其他的工作,比如内存管理等,所以需要将越来越复杂,但是类型高度统...
2019-11-22 19:32:48 669
原创 WindowManagerService理解与深入(Android Q)
一、WindowManagerService的基础概念1、什么是WindowManagerServie?首先,什么是Window?从原理上来讲,Window是独自占有一个Surface实例的显示区域,用于绘制各种UI元素并可以响应用户输入。什么是WindowManagerService每个窗口都有一块Surface,就需要一个角色来协调管理所有的Surface。WindowMan...
2019-11-22 19:11:05 7256 2
原创 Android壁纸机制(Android Q与老版本对比)
一、什么是Android壁纸?Android中,壁纸分为动态壁纸和静态壁纸两种。静态壁纸是一张图片,动态壁纸是以动画为表现形式,有的可以对用户的操作作出反应。二者表现形式看似差异很大,但是二者的本质是统一的: 它们都以一个Service的形式运行在系统后台,并在一个类型为TYPE_WALLPAPER的窗口上绘制内容。 实质上,静态壁纸是一种特殊的动态壁纸。Android壁纸管理的三个层次:...
2019-11-19 10:30:23 4065
原创 Effective Java(二)对于所有对象都通用的方法
Effective Java(二)对于所有对象都通用的方法Object是一个具体类,但是设计它的主要目的是为了拓展,它的所有非final方法(equals,hashCode,toString,clone和finalize)都有明确的通用约定,因为它们被设计成是要被覆盖的。所以,任何一个类在覆盖这些方法的时候,都有责任遵守这些规定。1. equals在如下情况下不覆盖或者是确保永远不被调用...
2019-03-07 10:35:40 197
原创 Effective Java(一)
Effective Java(一)创建和销毁对象1.考虑使用静态工厂方法代替构造器** 静态工厂方法相对于构造器的三大优势:**静态方法有名称构造器的参数很难准确描述正在被返回的对象,并且一个类只能有一个带有制定签名的构造器,如果要避开这一限制就只能将参数列表的类型顺序进行调换,这样会使得对象构造时产生困惑或者错误。所以,在一个类需要有多个签名相同的构造器时,就用静态工厂方法代替...
2019-03-05 11:00:19 174
转载 回调
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273),请尊重他人的辛勤劳动成果,谢谢以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类
2017-12-18 23:26:11 193
转载 为什么要使用回调函数
引用回答:@TNT_snowball http://bbs.csdn.net/topics/390081829我们对回调函数的使用无非是对函数指针的应用,函数指针的概念本身很简单,但是把函数指针应用于回调函数就体现了一种解决问题的策略,一种设计系统的思想。 在解释这种思想前我想先说明一下,回调函数固然能解决一部分系统架构问题但是绝不能再系统内到处都是,如果你发现你的系统内到处都是回调函数,那么你
2017-12-18 23:12:58 426
原创 opencv基于光流匹配
光流的概念:(Optical flow or optic flow) 它是一种运动模式,这种运动模式指的是一个物体、表面、边缘在一个视角下由一个观察者(比如眼睛、摄像头等)和背景之间形成的明显移动。光流技术,如运动检测和图像分割,时间碰撞,运动补偿编码,三维立体视差,都是利用了这种边缘或表面运动的技术。光流原理以及条件介绍 光流介绍及opencv实现以下代码是在配合光流检测,并保存下光流检测出来
2017-06-11 22:14:28 3996
原创 opencv3.2 SURF实现特征点匹配
opencv3.2中SurfFeatureDetector、SurfDescriptorExtractor、BruteForceMatcher这三个的使用方法已经和原先2.4版本前不一样了。使用方法示例如下: Ptr<SURF> detector = SURF::create(minHessian); detector->detect(img_1, keypoints_1); Ptr<SURF>
2017-06-08 16:42:38 12043 2
原创 模拟分页,FIFO,LRU,OPT算法
在一个请求分页系统中,设页面大小占100个单元,假如系统分配给一个作业的物理块数为3,试求出用FIFO,LRU,OPT三种算法在程序访问过程中所发生的缺页次数及缺页率,每次中断时都需要打印出来或者标示出来。(假设最初页面都在外存) 假定此作业的访问地址序列为202,313,252,111,546,217,444,544,365,223,398,111。输入任意的访问序列,也必须正确显示。代码#
2017-05-25 21:07:10 1689
原创 操作系统(一)进程与线程
进程程序与进程的区别创建新的进程进程的状态进程的实现线程使用多线程的原因实现线程的方式进程间通信临界区问题的要求实现互斥的解决方案信号量互斥量用法pthread中的互斥条件信号量的使用管程消息传递问题对消息进行编址屏障调度进程行为调度时机调度算法的目标调度算法用于批处理系统中FCFS先来先服务SJF最短作业优先不可抢占最短剩余时间优先可抢占最高响应
2017-05-15 21:19:57 478
空空如也
Android P开始的渲染参数计算为什么判断条件只与屏幕旋转动画有关?
2019-11-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人