- 博客(87)
- 资源 (2)
- 收藏
- 关注
转载 JNI官方中文资料
声明该篇文章完全引用自《JNI完全手册》完整版,用来方便查询查阅,同时作为该系列教程的基础知识。感谢原文档作者。文档所依赖的版本是比较低的,但是恰恰是低版本才能更容易上手学习。文档也有些枯燥,适合开发中参考查询和粗略概况性 的浏览掌握大局使用,也是下来几篇的基础性指导文档。下来几篇不会再解释代码简单函数释义,只会说重点,遇到不懂的来 这篇文章搜索函数名即可查阅函数详情。
2017-12-03 01:07:19 627
原创 Android Chromium动态库加载过程
最近解决WebViewZygote问题的过程中,仔细阅读了老罗的一篇关于Chromium加载的blog,受益匪浅。详细的代码分析过程请参考原文:Android WebView加载Chromium动态库的过程分析
2017-11-22 01:58:34 1132
原创 Android Framework启动流程分析(二)
发展到今天,Android系统已经更新到O,对于Android系统和Framework的启动流程也有了一些变化。为了完善Android Framework启动流程分析(一)中描述,紧跟Android发展。本文章对于部分逻辑做了补充。 如果想阅读完整的Android Framework启动流程,请阅读《Android Framework启动流程分析(一)》。
2017-10-27 00:46:32 550
转载 Android下PreferenceScreen 加载流程
android下PreferenceScreen 加载流程前面引入主题的废话不多说,也不会说,Preference的加载过程我们就从addPreferencesFromResource()方法开始研究。 addPreferencesFromResource()方法在PreferenceActivity类和PreferenceFragment类(Android3.0以后才有)中
2014-08-29 19:23:21 3514 1
转载 Android Fragment管理
Android基础之使用Fragment控制切换多个页面Android官方已经提供了Fragment的各种使用的Demo例子,在我们SDK下面的API Demo里面就包含了Fragment的各种使用例子,需要看Demo的朋友,直接看API Demo那个程序就可以了,不用到处去找。里面分开不同功能,实现了不同的类今天讲解一下Fragment的控制,主要是切换View和页面替换等操作。还有
2014-08-29 15:46:42 944
转载 Android Fragment 基本介绍
Android Fragment 基本介绍Fragment Android是在Android 3.0 (API level 11)开始引入Fragment的。 可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。 可以把Fragment设计成可以在多个
2014-08-29 15:13:30 833
转载 Activity的加载模式
在上一文中,我们说过,Activity就相当于一块块的七巧板,每个应用用这一个个七巧板组合成了美丽的图画,并用代码验证了每个Activity的生命周期。 那么,每个应用又是如何将各个Activity组合起来的呢?这就是本文要讲的内容。 通常情况下,一个应用有一个Task,这个Task就是为了完成某个工作的一系列Activity的集合。而这些Activity又被组织成了堆栈的形式
2014-04-28 13:39:45 919
转载 Android View绘制流程
一、官方文档 先是看了一下官方的文档, 地址是http://developer.android.com/guide/topics/ui/how-android-draws.html,它大体讲解了View的绘制流程。在此翻译一下,方便大家阅读。 当一个Activity接收焦点,它将被要求画出它的布局。Android框架将处理画图,但Activity必须提供根节点布局的层次
2014-04-02 01:05:06 1215
转载 Android反射机制实现与原理
本文介绍Android反射机制实现与原理,在介绍之前,要和Java进行比较,所以先看下Java中的反射相关知识:一、反射的概念及在Java中的类反射 反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。在计算机科学领域,反射是一类应用,它们能够自描述和自控制。这类应用通过某种机制来实现对自己行为的描述和检测,并能根据自身行为的状态和结果,调整或修改应用所描述行为的
2014-04-02 00:55:39 1645 1
原创 Android4.0 Keyguard解锁屏机制
Keyguard解锁屏是Android系统中必不可少的模块,用户在开机后或者在点击Power按钮屏幕变亮后首先看到的画面即为解锁屏模块对应的界面。Keyguard模块功能相对简单: 第一:直观地显示手机当前的关键信息:比如电池信息、运营商信息、日期信息以及通话短信信息等。 第二:增强手机的安全性能:为了安全,用户可以在Setting里的Secure选项中设置passwo
2012-10-17 00:46:36 23723 3
转载 Android应用程序进程启动过程的源代码分析
Android应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口函数是ActivityThread.main,二是进程天然支持Binder进程间通信机制;这两个特点都是在进程的初始化过程中实现的,本文将详细分析Android应用程序进程创建过程中是如何实现这两个特点的。 Android应用程序框架层创建的应用程序进程的入口函数是ActivityThread.main
2012-08-20 17:46:36 1964
原创 Android Framework启动流程分析(一)
Android手机系统本质上是一个基于Linux的应用程序,它以Linux系统为内核。系统的启动过程包括Linux内核启动和Android框架启动两个阶段,本文主要介绍Android 框架(Framework)启动阶段。一、Linux内核启动 1、装载引导程序bootloader Linux内核启动时首先装载执行bootloader引导程序,装载完成后进入内核程序。
2012-08-15 19:39:42 11265 3
转载 Tasks and Back Stack
本文对Android SDK开发文档“Tasks and Back Stack”章节的主要内容进行了翻译,原文请参考:docs/guide/topics/fundamentals/tasks-and-back-stack.html。概述一个手机应用程序通常包含多个Activities。每个Activity的设计,都是为了完成某种明确的功能及跳转到其他应用程序的Activity。比如,一个邮
2012-08-13 14:23:30 1261
转载 Android中的Binder机制的理解
注:更详细介绍请参考: http://my.unix-center.net/~Simon_fu/?p=875 http://my.unix-center.net/~Simon_fu/?p=894 http://my.unix-center.net/~Simon_fu/?p=942 http://
2012-08-07 14:36:48 1444
原创 Android ContentProvider讲解
Content Providers android SDK文档中对于Content Provideri进行了详细的描述。下面列出了文档的英文原文。为了方便理解,这里总结下Content Provider涉及的主要知识点: 一、Content provider basics 1、Content Provider实现了应用间数据的共
2012-06-26 13:27:35 2067
转载 Linux下C语言编程--知识点总结
原文链接:http://www.newsmth.net/pc/pccon.php?id=2255&nid=44822本问包括以下几方面的内容:1、基础知识2、进程的创建3、文件的操作4、时间概念5、线程操作6、进程通信、消息管理7、信号处理函数Linux下C语言编程--基础知识http://www.fanqiang.com/a4/b2/2001050
2012-06-25 16:51:37 2356
转载 Android中Preference的使用以及监听事件分析
转载请注明出处: http://blog.csdn.net/qinjuning 在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局。当然,凡事都有例外,FMRadio应用程序中则使用了View布局结构(可能是该应用程序是marvel公司提供
2012-06-25 16:42:47 1080
转载 Android之Adapter用法总结
1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个首要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:Android中所有的Adapter一览: 由图可以看到在Android中与Adapter有关的
2012-05-16 11:21:33 860
转载 Android build.prop生成过程
本文简要分析一下build.prop是如何生成的。Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product//system/目录下。在Android运行时刻可以通过property_get()[c/c++域] / SystemProperties_
2012-04-25 16:50:02 6889
转载 Android.mk文件语法规范
Android.mk文件语法规范 译者:ChrixLee 2010.5.12 序言:-------------此文档旨在描述Android.mk文件的语法,Android.mk文件为Android NDK(原生
2012-04-22 17:48:22 1084
转载 find命令详解(-exec/-ok/xargs)
由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。一、find 命令格式1、find命令的一般形式为:find pathname
2012-04-10 00:27:59 2243
转载 Android AIDL
注:本文讲的十分详细和全面,重在讲解客户端服务,有助于android aidl的系统理解。如果仅是简单的掌握aidl的开发过程,可以参考:aidl开发过程简介。 客户端服务必须继承于Service类来编写,重写onBinder后返回给客户调用端。而Android中的系统服务是指可以使用getSystemService方法获取的服务,这类服务通过addService添加到系统,并接受S
2012-02-13 15:00:45 954
转载 Android JNI知识简介
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,
2012-01-15 10:48:20 736
原创 OpenGL学习五——绘制几何体
1、基本图元 OpenGL中几何图元包括点、直线以及多边形,其中多边形特指简单凸多边形。它们都是用顶点集合来描述的,要指定定点可以使用函数glVertex*()。 绘制几何图元时,需要在glBegin和glEnd的之间指定定点数据和图元类型。图元类型主要有: 点:GL_POINTS 直线:GL_LINES\GL_LINE_ST
2011-11-23 16:46:02 3356
原创 OpenGL学习四——帧缓存
1、缓存介绍 以统一的方式对每个像素的数据进行存储的空间被称为缓存,OpenGL中有四种缓存——颜色缓存、深度缓存、模板缓存以及累积缓存。 颜色缓存存储了颜色索引或RGB颜色数据,还存储了alpha值,主要用于图像像素颜色的显示。深度缓存存储了每个像素的深度值,通常是指视点的距离。通常深度值大的像素会被深度值小的像素覆盖,但深度缓存的这种行为是可以修改的。模板缓存存储了特定的模
2011-11-21 09:56:43 1797
原创 OpenGL学习三——矩阵堆栈
在计算机图形学中,所有的变换都是通过矩阵相乘实现的,即物体定点构成的齐次坐标矩阵乘以三维变换矩阵就可得到变换后的物体齐次坐标矩阵。同样,在OpenGL中图远的坐标变换(移动、旋转、缩放)也是通过矩阵乘法实现的。OpenGL中比较重要的矩阵有投影矩阵和模型视图矩阵,外加纹理矩阵。矩阵堆栈基于矩阵引入,它可以以栈的形式保存相应的矩阵,压入和弹出操作同普通的栈,三种矩阵对应了三个矩阵堆栈。
2011-10-21 16:12:23 5918 1
转载 Opengl ES----glDrawArray和glDrawElements
花了四天的时间, 把一款FPS游戏引擎Fly3D 转到OpenGL ES上, 众所周知, ES是面向移动设备的, 所以,为了效率,它对OpenGL进行了很多的筛减, 把一些没有效率的函数如(glBegin)全部扔掉了, 一些绘制的类型如GL_POLYGON也抛掉了,这里跟大家分享一下, 使用glDrawArray绘制POLYGON的替代方法以及glDrawElements绘制三角形网格
2011-10-21 01:25:13 2482
原创 OpenGL学习二——四种变换
现实世界中可以通过以下方式观察感兴趣的对象: 1、变化观察者的位置(观察点),从不同的角度去审视(视图变换) 2、移动或者旋转被观察对象,全方位观察(模型变换) 3、如果把物体画下来,我们可以选择:是否需要一种“近大远小”的透视效果。另外,我们可能只希望看到物体的一部分,而不是全部(剪裁)(投影变换) 4、我们可能希望把整个看到的图形画下来,但它只占据纸张的一部分,
2011-10-14 17:26:32 1502
原创 OpenGL学习一——程序绘图框架
1、OpenGL初始化,包括OpenGL状态、特性设置等,大体包括: 颜色设置:glClearColor、glShadeModel 纹理设置:glEnable、glGenTextures等 深度检测设置:glClearDepthf、glDepthFunc、glEnable 混色设置:glBlendFunc、glEnable 光照设置:glLight
2011-10-12 19:18:44 1247
原创 Linux diff命令详解
Linux中比较文件或者文件夹差异,经常用到diff命令,先解释如下。 用法:diff [选项]... FILES 功能:逐行比较文件。 常用选项说明: -i --ignore-case 忽略文件内容大小写的区别。 --ignore-file-name-case 忽略文件名大小写的区别。 -
2011-10-12 14:33:12 2434
原创 git log命令详解
git log用于查询版本的历史,命令形式如下: git log [] [..] [[--] ...] 主要参数选项如下: -p:按补丁显示每个更新间的差异 --stat:显示每次更新的修改文件的统计信息 --shortstat:只显示--stat中最后的行数添加修改删除统计
2011-10-11 18:42:43 25056
转载 Android 3D 游戏开发教程– Part I-VI
开始 Android 3D 游戏开发教程– Part I-VI 本帖最后由 huzht 于 2010-4-25 07:58 编辑 这几篇Android 3D游戏开发的文章原文出自一位德国人Martin 在droidnova.com写的文章,有lixinso翻译为中文。第一部分首先介绍OpenGL相关的术语,并引导你开始3D开发的第一步。这个关于3D游戏的系列的叫做 Vortex
2011-10-08 20:06:34 1838
转载 Android OpenGL——GL10方法介绍
javax.microedition.khronos.opengles接口GL10上级接口:GL下级接口:GL11公共接口GL10继承于GLGL10接口包含了Java(TM)程序语言为OpenGL绑定的核心功能。OES_byte_coordinates,OES_single_precision,OES_fixed_point,OES_read_format,以及OES_comp
2011-10-08 19:57:16 13578 3
转载 Java's Thread——Thread class and Runnables
Recently, I find a good article about java thread and is worth learning。According to my reading it, some important contents will be listed as follow.Start your vehicles Threads resemble vehicles
2011-08-31 20:11:49 2067
转载 JAVA中的指针,引用及对象的clone
看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复杂难以理解,滥用指针写成的代码不亚于使用早已臭名昭著的"GOTO"语句。Java放弃指针的概念绝对是极其明智的。但这只是在Java语言中没有明确的指针定义,实质上每一个new语句返回的都是一个指针的引用,只不过在大多时候Java中不用关心如何操作这个"指针
2011-08-29 10:46:15 861
原创 android消息处理——Thread、Looper、Handler
一 简介: android应用程序和windows程序一样,都是基于消息驱动的。如果想要了解android系统的消息处理机制,理解Thread、Looper和Handler三个对象必不可少。Android系统中Looper负责管理线程的消息队列和消息循环,即接受线程中的Message并分发、回调处理消息的函数。对于开发者来说,Looper本身可能不太重要,毕竟这个是android系
2011-08-17 18:49:19 8423 3
原创 Android log日志信息获取
LogCat是Android中一个命令行工具,可以用于得到程序的log信息,结合tee和grep命令可以方便的获取、查看日志。1、Logcat使用 命令:LogCat [options] [filterspecs] LogCat的选项包括: -s 设置过滤器,如指定 '*:s'. -f 输出到
2011-07-14 21:06:13 3026
转载 linux top命令详解
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombi
2011-07-13 19:23:33 834
转载 java interface和abstract的区别
转自http://www.ibm.com/developerworks/cn/java/l-javainterface-abstract/index.html#abstract class和interface在Java语言中都是用来进行抽象类(本文中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方
2011-06-14 12:04:00 1075
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人