文章列表
Linux的SOCKET编程详解
- 博客分类:
- Linux
先把好文记录咯。学习,在总结
http://blog.csdn.net/hguisu/article/details/7445768
Vold架构最最重要的其实是两个Socket的创建和监听
1. Vold Socket
2. Kernel-Uevent Socket
理解清楚这两个Socket的用途,以及它们什么时候创建和使用,就能清晰理解整个Vold架构了。
首先讲讲Vold架构在整个Android系统的位置。
Android系统从上到下依次是,App、Application Framework、Library、Linux Kernel。
Vold架构处于Library层,它负责接收下层Linux Kernel Usb Driver向上发送的Usb Add、Remove、Change消息。
Vold对这些消息处理后,在 ...
学习罗老师,先上一张Kernel层向上发送消息处理流程的序列图,下面一点一点分析。
Step.17以前都在上一篇分析文章里,不在说明了。从Step.17开始分析。
Step.17 在main方法中,nm->start()方法里,开启Socket,监听Kernel层向上发送 ...
首先上一张整体的结构类图
VOLD:Volume Daemon存储守护进程,用来为响应Usb/SD卡插入,拔出等动作提供服务。
系统启动时,通过解析init.rc文件来启动各种系统服务。
包括VOLD服务也是在这里启动。
service vold /system/bin/vold
class ...
Android平台下Sqlite性能优化
1. 1万条以上数据级别时,用execSql方法替换SQLiteDatabase提供的·update、·insert等方法。
节约了update、·insert拼接Sql语句的时间。
2. 查询操作多的情况下,使用Index。更新操作多的情况下,不要使用Index。
3. 适当使用事物。批量操作时,在业务逻辑允许的情况下,尽量使用事物,一次commit。
减少磁盘操作次数。
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-sec/
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-build/
java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed.
http://touchlabblog.tumblr.com/post/24474750219/single-sqlite-connection
Keep a single SQLiteOpenHelper instance in a static context. Do lazy initialization, and synchronize that method. W ...
如何去掉Android kitkat中的红框
三种方法
1:修改源码
红框显示的代码是com.android.server.wm.StrictModeFlash.java的
setVisibility(boolean on) {}
调用该方法的地方在com.android.server.wm.WindowManagerService.java的
showStrictModeViolation(int arg, int pid) {}的5485行
mStrictModeFlash.setVisibility(on);
将mStrictModeFlash.setVisibility(on);注 ...
Android Zygote进程和SystemServer进程启动过程
1.init.c main(...) parse init.rc
2.app_process.app_main.cpp main(...)
3.AndroidRuntime.cpp start(...)
4.ZygoteInit.java main(...)
①:registerZygoteSocket();
②:startSystemServer();
③:runSelectLoopMode();
④:closeServerSocket
4.SystemServer.java main(...)
①:i ...
AIDL其实并没有多么复杂。
它是用来方便我们开发者编程的一个命令工具而已。
Android在编译时,会通过它将AIDL文件生成对应的Java文件。
这个Java文件就是用来进行IPC进程间通信。
下面详细说明这个Java文件的构成。以ITestAidl.AIDL文件为例进行说明。
ITestAidl.AIDL文件里申明onCallBack()方法。
Android编译会在gen目录下生成ITestAidl.Java文件。
这个Java文件中有Interface ITestAidl,以及I/F onCallBack()。
Interface ITestAidl下有内部抽象类ITestAid ...
SurfaceView类
- 博客分类:
- Android
SurfaceView类
SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。
surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面。surfaceview提供了一个可见区域,只有在这个可见区域内 的surface部分内容才可见,可见区域外的部分不可见。surface的排版显示受到视图层级关系的影响,它的兄弟视图结点会在顶端显示。这意味者 surface的内容会被它的兄弟视图遮挡,这一特性可以用来放置遮盖物(overlay ...
Android SDK和测试机版本: Android4.4.2 + Nexus7
功能点:
①:点击按钮「写真開始」,切换到Camera Activity。
②:点击按钮「写真しよう」,拍照并将照片显示在当前Activity中弹出「アップロード TO 他のAPP」、「アップロード TO サービス」、「写真続き」
③:点击「アップロード TO 他のAPP」按钮,弹出设备中其他APP比如「google Drive」,选择APP完成上传。
④:点击「アップロード TO サービス」上传到Node.js服务器中。
⑤:点击「写真続き」按钮,回到功能点②。
学习开发中遇到许多问题,接下来要花几天时间进行 ...