随笔分类 - android系统
摘要:一、Native层Binder 源码结构: ClientDemo.cpp: 客户端程序 ServerDemo.cpp:服务端程序 IMyService.h:自定义的MyService服务的头文件 IMyService.cpp:自定义的MyService服务 Android.mk:源码build文件
阅读全文
摘要:PS:个人理解:当进程1通过Binder调用组件2时,会将进程1的pid及uid赋给组件2,并检测进程1的pid及uid是否有权限调用组件2.而后组件2需要调用组件3,此时组件2保存的pid及uid为进程1的,但是其实际运行在进程2中。此时调用clearCallingIdentity将组件2的保存的
阅读全文
摘要:__user宏简单告诉编译器(通过 noderef)不应该解除这个指针的引用(因为在当前地址空间中它是没有意义的)。 (void __user *)arg 指的是arg值是一个用户空间的地址,不能直接进行拷贝等,要使用例如copy_from_user,copy_to_user等函数。 默认是内核空间
阅读全文
摘要:在Android的官方文档当中,对android:screenOrientation的说明如下: android:screenOrientationThe orientation of the activity's display on the device. The value can be an
阅读全文
摘要:下面举例记录宏的一种使用方式。 ##name 用来在宏定义中传递名称变量。 由于宏定义仅直接插入调用处,可以用来进行函数声明 4.1 interface_cast [-> IInterface.h] 1 template<typename INTERFACE> 2 inline sp<INTERFA
阅读全文
摘要:这里我们主要介绍进程的状态,进程的状态可以通过/proc/PID/status来查看,也可以通过/proc/PID/stat来查看. 如果说到工具大家用的最多的ps也可以看到进程的信息.这里我们通过/proc/PID/status来分析进程的信息. 在2.6.18之后的内核,多了capibilty/
阅读全文
摘要:1、java数据是无符号还是有符号 2、jni转换数据时如何处理byte数据有无符号转换 3、ams 4、jvm如何判别重载和重写 5、Bitmap的数据压缩,耗费何种内存 6、算法 7、排序 8、mvc 9、http://www.cnblogs.com/guguli/p/5269947.html
阅读全文
摘要:用 @Deprecated注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告。 其次,请注意标题,这两个标记有大小写之分,一个是D,一个是d。 源代码标记@Deprecated是在JDK1.5中作为
阅读全文
摘要:PID 指进程ID. PID是进程的身份标识,程序一旦运行,就会给应用分配一个独一无二的PID(ps:一个应用可能包含多个进程,每个进程有唯一的一个PID) 进程终止后PID会被系统收回,再次打开应用,会重新分配一个PID(新进程的PID一般比之前的号要大) 命令:adb shell + ps|gr
阅读全文
摘要:注:将android底层malloc换为mmap来获取内存,可将获取到的内存添加tag,从而再利用meminfo进行分析,可单独查看该tag的内存,从而进行分析。 一. mmap系统调用 一. mmap系统调用 1. mmap系统调用 mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,
阅读全文
摘要:在ANE中如果SDK调用了so库,则需要把so库放到ANE下Android-ARM/lib/armeabi (调试模式)或者 armeabi-v7a(发行模式)下。 可以贴个ADT代码说明问题: 而这个armeabi和armeabi-v7a究竟是什么意思? 有什么深意么? 为什么调试模式和发行模式a
阅读全文
摘要:1、-Wall 是打开警告开关 2、-O 代表默认优化,可选:-O0不优化,-O1低级优化,-O2中级优化,-O3高级优化,-Os代码空间优化 3、-g 是生成调试信息,生成的可执行文件具有和源代码关联的可调试的信息 4、-fopenmp OpenMp是由OpenMP Architecture Re
阅读全文
摘要:0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。 所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析
阅读全文
摘要:将apk修改后缀为zip后,可直接解包查看资源文件
阅读全文
摘要:引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构相关源码: /bionic/libc/kernel
阅读全文
摘要:介绍生命周期之前,先提一下任务的概念 任务其实就是activity 的栈它由一个或多个Activity组成的共同完成一个完整的用户体验, 换句话说任务就是” 应用程序” (可以是一个也可以是多个,比如假设你想让用户看到某个地方的街道地图。而已经存在一个具有此功能的activity 了,那么你的act
阅读全文
摘要:转自:http://blog.csdn.net/qinjuning 前言: 本文是我读《Android内核剖析》第13章 View工作原理总结而成的,在此膜拜下作者 。同时真挚地向渴望了解 Android 框架层的网友,推荐这本书,希望你们能够在Android开发里学到更多的知识 。 整个View树
阅读全文
摘要:Android 运行环境主要指的虚拟机技术——Dalvik。Android中的所有Java程序都是运行在Dalvik VM上的。Android上的每个程序都有自己的线程,DVM只执行.dex的Dalvik executable 文件。每个Android应用在底层都对应有一个独立的DVM实例并在其解释
阅读全文
摘要:jclass和jobject的迷惑第一次使用JNI,实例引用(jobject)和类引用(jclass)让人觉得很困惑。实例引用与一个数组和java.lang.Object类或它的子类的实例对应。类引用与java.lang.Class实例对应,它代表着类的类型。一个操作如GetFieldID,需要参数
阅读全文
摘要:大陆的墙很厚很高,初次安装Android Studio下载SDK等必定失败,设置代理方法如下: 1. 到android studio安装目录,打开bin目录,编辑idea.properties, 在文件末尾添加: disable.android.first.run=true 这将禁用第一次运行 2.
阅读全文