概述
右值引用的概念有些读者可能会感到陌生,其实他和C++98/03中的左值引用有些类似,例如,c++98/03中的左值引用是这样的:1
2int i = 0;
int& j = i;
这里的int&
是对左值进行绑定(但是int&
却不能绑定右值),相应的,对右值进行绑定的引用就是 右值引用 ,他的语法是这样的:A&&
,通过双引号来表示绑定类型为A
的右值。通过&&
我们就可以很方便的绑定右值了.
转载自 http://blog.csdn.net/jinzhuojun/article/details/39698317
转载自http://blog.csdn.net/ear5cm/article/details/45093807
Edited: 增加了fence的翻译 android-fences-introduction
Fence是一种同步机制,在Android里主要用于图形系统中GraphicBuffer的同步。 那它和已有同步机制相比有什么特点呢?
它主要被用来处理跨硬件的情况,尤其是CPU,GPU和HWC之间的同步,另外它还可以用于多个时间点之间的同步。
GPU编程和纯CPU编程一个很大的不同是它是异步的,也就是说当我们调用GL command返回时这条命令并不一定完成了,只是把这个命令放在本地的command buffer里。具体什么时候这条GL command被真正执行完毕CPU是不知道的,除非CPU使用glFinish()等待这些命令执行完,另外一种方法就是基于同步对象的Fence机制。下面举个生产者把GraphicBuffer交给消费者的例子。
如生产者是App中的renderer,消费者是SurfaceFlinger。GraphicBuffer的队列放在缓冲队列BufferQueue中。BufferQueue对App端的接口为IGraphicBufferProducer,实现类为Surface,对SurfaceFlinger端的接口为IGraphicBufferConsumer,实现类为SurfaceFlingerConsumer。BufferQueue中对每个GraphiBuffer都有BufferState标记着它的状态:
使用openjdk的ppa源安装:1
2
3
4
5sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
参考自 How to install apache tomcat 8 on ubuntu 14.04
First, create a new tomcat group:
1 | sudo groupadd tomcat |
Then create a new tomcat user:
1 | sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat |
终于搞定了java的scope追踪
只能找到这个设备=.= 最高支持到6.0 木的办法
分析场景
开机后从launcher界面打开calculator应用
分析目标
ams, wms, app 框架的流程
分析成果
log && scope: aosp.launch.calculator.from.home.zip
log:
10-31 22:43:05.803 614 1080 I ActivityStackSupervisor: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.calculator2/.Calculator ….
scope:
22:43:05.803 时thread 614 1080的运行情况:
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
1 | $ hexo new "My New Post" |
More info: Writing