自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 C++封装、继承、多态

C++封装继承多态总结面向对象的三个基本特征 面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用! 封装 什么是封装? 封装可以隐藏实现细节,使得代码模块化;封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念

2015-12-23 11:16:30 766

转载 SELinux深入理解

1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制。Security-Enhanced Linux (SELinux)由以下两部分组成:1) Kernel SELinux模块(/kernel/security/selinux)2) 用户态工具SELinux是一个安全体系结构,它通过LSM(Linux Security Modules)框架被集成到Li

2015-12-11 11:49:03 1373

转载 深入理解SELinux SEAndroid(结局)

二 SEAndroid源码分析 有了上文的SELinux的基础知识,本节再来看看Google是如何在Android平台定制SELinux的。如前文所示,Android平台中的SELinux叫SEAndroid。 先来看SEAndroid安全策略文件的编译。1. 编译sepolicy Android平台中:external/sepolicy:提供了Android平台中的安全策略源文件。同时

2015-12-11 11:36:35 657

转载 深入理解SELinux SEAndroid之二

3) File/File System 打label前面一节中,读者见识到了DT和TT。不过这些描述的都是Transition,即从某种Type或Domain进入另外一种Type或Domain,而上述内容并没有介绍最初的Type怎么来。在SELinux中,对与File相关的死货(比“死东西”少些一个字)还有一些特殊的语句。 直接看SEAndroid中的文件吧。[external/sepolicy

2015-12-11 11:06:38 1166

转载 深入理解SELinux SEAndroid(第一部分)

SEAndroid是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安全机制。而SELinux则是由美国NSA(国安局)和一些公司(RedHat、Tresys)设计的一个针对Linux的安全加强系统。 NSA最初设计的安全模型叫FLASK,全称为Flux Advanced Security Kernel(由Uta大学和美国国防部开发,后来由NSA将其开源),当

2015-12-11 10:29:01 1597

转载 Android 4.4(KitKat)中VSync信号的虚拟化

原文地址:http://blog.csdn.net/jinzhuojun/article/details/17293325Android 4.1(Jelly Bean)引入了Vsync(Vertical Syncronization)用于渲染同步,使得App UI和SurfaceFlinger可以按硬件产生的VSync节奏来进行工作。关于VSync的介绍详见博文http://www.androidp

2015-12-04 17:31:05 910

转载 Android 4.4(KitKat)中的设计模式-Graphics子系统

原文地址:http://blog.csdn.net/jinzhuojun/article/details/17427491本文主要从设计模式角度简单地侃下Android4.4(KitKat)的Graphics子系统。作为一个操作系统,Android需要考虑到灵活性,兼容性,可用性,可维护性等方方面面 ,为了达到这些需求,它需要良好的设计。因此,在Android源码中可以看到很多设计模式的身影。光是本

2015-12-04 17:21:28 715

转载 Android编译过程详解(三)

前面两节讲解了自定义Android编译项和创建Product产品配置文件,除了编译和定义产品相关环境变量外,还需要定义Board相关环境变量。1. build/core/config.mk109 # --------------------------------------------------------------- 110 # Define most of the global var

2015-12-04 11:50:02 655

转载 Android编译过程详解(二)

Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html Android编译过程详解(三):http:/

2015-12-04 11:42:10 444

转载 Android编译过程详解(一)

Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.htmlAndroid编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.htmlAndroid编译过程详解(三):http://www.cnblogs.com

2015-12-04 11:23:20 1814

转载 Android编译过程详解(一)

Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html    Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html    Android编译过程详解(三):http:

2015-12-04 11:21:05 540

转载 Android.mk 文件语法详解

0. Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析过程中定义。Android.mk文件语法允许我们将Source打包成一个"m

2015-12-04 11:19:09 543

转载 sp<> 强指针类的用法

文一:转:http://wangjun-1985.spaces.live.com/blog/cns!E9070276AAF56C8E!472.entry在android 中可以广泛看到的template class Sp 句柄类实际上是android 为实现垃圾回收机制的智能指针。智能指针是c++ 中的一个概念,因为c++ 本身不具备垃圾回收机制,而且指针也不具备构造函数和析构函数

2015-12-04 11:14:42 1161

转载 C++中new的用法

new int;//开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)   new int(100);//开辟一个存放整数的空间,并指定该整数的初值为100,返回一个指向该存储空间的地址   new char[10];//开辟一个存放字符数组(包括10个元素)的空间,返回首元素的地址   new int[5][4];//开辟一个存放二维整型数组(大小为5*4)的空间,返回首元

2015-12-04 10:59:32 1224

转载 C++ Template 中的typename、class关键字

在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?        相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为:       template......  在这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可

2015-12-04 10:32:55 593

转载 android中invalidate()的自动清屏含义以及屏幕刷新

invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉。 对于屏幕刷新有以下集中情况可以考虑: 1.不使用多线程和双缓冲 这种情况最简单了,一般只是希望在View发生改变时对UI进行重绘。你只需在Activity中显式

2015-12-03 16:05:07 1065

转载 Android异步消息框架

自从rtsp从stagefright播放器移植到NuPlayer之后,你会发现相关的类中存在许多类似下面的代码:================================11111111111111==========================NuPlayerDriver::NuPlayerDriver() : mLooper(new ALooper) { mLoop

2015-12-03 14:06:58 410

转载 Android 的 init.rc 文件简介

init.rc由许多的Action和Service组成。每一个语句占据一行,并且各个关键字被空格分开.由 # (前面允许有空格)开始的行都是注释行(comment) 一个actions 或 services 的开始隐含声明了一个新的段,所有commands 或 options 属于最近的声明。在第一个段之前的 commands 或 options 都会被忽略 每一个actions 和 serv

2015-12-02 09:57:51 435

转载 Android系统init.rc分析

在 Android中使用启动脚本init.rc,可以在系统的初始化过程中进行一些简单的初始化操作。这个脚本被直接安装到目标系统的根文件系统中,被 init可执行程序解析。 init.rc是在init启动后被执行的启动脚本. (1)android启动文件系统后调用的第一个应用程序是/init,此文件的很重要的内容是解析了init.rc和init.xxx.rc 两个配置文件,然后执行解析出来的任务。

2015-12-02 09:52:04 729

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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