- 博客(419)
- 资源 (3)
- 收藏
- 关注
原创 rts-threshold RTS/CTS握手信号阀值
RTS/CTS握手信号阀值主要用于解决"隐藏节点"问题的。"隐藏节点"是指两个站点不在彼此的覆盖范围内,却在同一个AP的覆盖范围内。因此,它们就被称为彼此的隐藏节点。当一个站点向AP发送数据时,它可能没有意识到另一个站点正在和这个AP进行通信。当两个站点发送的数据同时到达AP时,就会发生冲突,很可能导致数据丢失。RTS Threshold就是为了解决这个数据冲突的。当RTS被激活,站点和A
2020-04-26 16:53:52
2915
原创 Ubuntu 下安装星际译王方法字典安装及字典有效地址
$ sudo apt-get install stardict$ sudo apt-get install stardict stardict-common stardict-cdict-gb stardict-cedict-gb stardict-hanzim stardict-langdao-ce-gb stardict-langdao-ec-gb stardict-oxford-
2016-09-28 16:29:53
729
转载 Dalvik虚拟机探析
Dalvik虚拟机是google专门为android平台开发的一个java虚拟机,但它并没有使用JVM规范。Dalvik虚拟机主要完成对象生命周期的管理、线程管理、安全和异常管理以及垃圾回收等重要功能。 java虚拟机和Dalvik虚拟机的区别: java虚拟机Dalvik虚拟机 java虚拟机基于栈。 基于栈的机器必须使用指令来载入和操作栈上数
2015-05-07 16:48:34
673
转载 Android4.4 4.2keyguard锁屏流程梳理
Android4.4 锁屏流程梳理刚毕业不久由于项目需要就接触到锁屏,从2.2到4.1都解过bug,也定制过一些功能。4.1之前的锁屏工作不难,但很费时间,因为它的逻辑,视图,资源分别分布在不同的路径下,就像散落在海边沙滩上的珠子,想串起来还是蛮费劲的。最开始时锁屏就是改个字段也要全编译生成img。后来新技能get,会针对修改的地方进行单编译,但每次编译jar,导入手机,重启看效果也是不方便的
2014-10-16 16:52:09
1144
转载 Android4.0 Keyguard解锁屏机制
Keyguard解锁屏是Android系统中必不可少的模块,用户在开机后或者在点击Power按钮屏幕变亮后首先看到的画面即为解锁屏模块对应的界面。Keyguard模块功能相对简单: 第一:直观地显示手机当前的关键信息:比如电池信息、运营商信息、日期信息以及通话短信信息等。 第二:增强手机的安全性能:为了安全,用户可以在Setting里的Secure选项中设置passwo
2014-10-16 16:07:35
1364
原创 I2C
1.1 Definition I2C Inter-Integrated Circuit SMBUS System Management Bus, the I2C subset
2014-10-16 11:02:55
780
转载 设备驱动外传 - 虚拟总线和platform device
1. 总论2. 系统初始化 platform device3. 驱动程序使用 platform device 1. 总论Linux-2.6.11引入了设备模型的概念,将大部分设备驱动挂载到虚拟总线上。其目的在于:1) 提供友好的用户接口,用户可以在sys/bus/platform/下找到相应的驱动和设备。2) 更有利于电源管理。 2.
2014-10-16 11:01:28
947
转载 Linux启动流程
1 Bootloader对于一般的ARM处理器,CPU上电或复位执行第一条指令所在地址,即第一段程序Bootloader的开始地址,Bootloader一般存于Nor-flash(XIP),支持芯片内执行。Bootloader的功能可总结为:1)初始化CPU时钟,内存,串口等。2)设置Linux启动参数。3)加载Linux内核镜像。Android源码位于根目录下的/bootable文件夹。
2014-10-16 10:45:27
879
转载 Linux内核模块的加载 insmod
Linux内核模块形式上以.ko文件存在,概念上类似于Windows的动态链接库dll,内核模块可以在系统运行期间动态扩展系统功能而无须重新编译一个新的内核镜像并重启系统,这一特性为内核开发者提供了极大的便利。1. 内核模块的动态编译和静态编译首先得了解两者的区别,静态编译模块直接进内核镜像,动态编译模块生成.ko文件。本文主要讨论模块的动态加载。参考一个简单的实例 http:
2014-10-16 10:37:05
4219
转载 Android DVM 記憶體管理研究分析
Andorid为applayer 所设计的 DalvikVirtual Matchine 真的是包山包海, DVM的功能有, 对象生命周期管理, 行程管理, 内存管理, 安全和例外处理以及跟内存有关的资源回收机制. 里面每一项功能都算是一门大学问, 在这里就针对DVM的内存管理和资源回收机制做分析.分析的重点方向会分为Initial跟Allocate来分析.Initial当DVM作初始化时
2014-08-08 16:44:52
1263
转载 Android深入浅出之Audio第三部分Audio Policy[1]
一目的上回我们说了AudioFlinger(AF),总感觉代码里边有好多东西没说清楚,心里发毛。就看了看AF的流程,我们敢说自己深入了解了Android系统吗?AudioPolicyService(APS)是个什么东西?为什么要有它的存在?下层的Audio HAL层又是怎么结合到Android中来的?更有甚者,问个实在问题:插入耳机后,声音又怎么从最开始的外放变成从耳机输出了?调节音量的时候到
2014-07-02 11:31:41
785
转载 Android深入浅出之Audio 第二部分 AudioFlinger分析
一目的本文承接Audio第一部分的AudioTrack,通过AudioTrack作为AF(AudioFlinger)的客户端,来看看AF是如何完成工作的。在AT(AudioTrack)中,我们涉及到的都是流程方面的事务,而不是系统Audio策略上的内容。WHY?因为AT是AF的客户端,而AF是Android系统中Audio管理的中枢。AT我们分析的是按流程方法,那么以AT为切入点的话,AF
2014-07-02 11:20:55
844
转载 Android深入浅出之Audio 第一部分 AudioTrack分析
Android深入浅出之Audio第一部分 AudioTrack分析一目的本文的目的是通过从Audio系统来分析Android的代码,包括Android自定义的那套机制和一些常见类的使用,比如Thread,MemoryBase等。分析的流程是:l 先从API层对应的某个类开始,用户层先要有一个简单的使用流程。l 根据这个流程,一步步进入到JNI,
2014-07-02 11:19:15
771
转载 Android系统性能调优工具介绍
Android系统性能调优工具介绍在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:测评:对系统进行大量有针对性的测试,以得到合适的测试数据。分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。性能优化:对hotspot相关的代码进行优化。由上述步骤可知,性能优化的目标对象是hotspot。如果找到的hotsp
2014-07-01 18:01:17
832
转载 Android内存泄漏分析及调试
尊重原创作者,转载请注明出处:http://blog.youkuaiyun.com/gemmem/article/details/13017999此文承接我的另一篇文章:Android进程的内存管理分析 首先了解一下dalvik的Garbage Collection:如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Roots),比方说thread
2014-06-20 14:12:41
696
转载 指针
1. 指向整型指针先看如下示例:View Code运行结果如下:我们先看下内存分配图:由上图可以清楚的知道,输出整形变量a的值是5,指针变量p的值是001BFD18,而*号的作用是取值,*p即取地址001BFD18中存放的值,即5。2. 指向字符型指针先看如下示例:View Code运行结果图如下:为什么整型指针p输出的是地址,而字符型指
2014-05-22 15:09:14
639
转载 基于power supply信息传递的uevent机制
参考了 http://blog.sina.com.cn/s/blog_6100a4f101015uwh.htmlLinux uevent机制Uevent是内核通知android有状态变化的一种方法,比如USB线插入、拔出,电池电量变化等等。其本质是内核发送(可以通过socket)一个字符串,应用层(android)接收并解释该字符串,获取相应信息。一、Kernel侧: ke
2014-05-15 17:22:55
1608
转载 GDB 进行调试
1: 对于在应用程序中加入参数进行调试的方法: 直接用 gdb app -p1 -p2 这样进行调试是不行的。 需要像以下这样使用: #gdb app (gdb) r -p1 -p2 或者在运行run命令前使用set args命令: (gdb) set args p1 p2 可以用show args 命令来查看2. 加入断点
2014-05-14 14:41:51
670
转载 802.11(wi-fi)的PHY层
版本概要: 802.11-2007是目前的基础版本,之前的过时版本不考虑。 2009是较新的版本,就是目前最普及的802.11n。(100Mb/s) 2012就是传说中的802.11ac,工作在5G,速度牛逼哄哄的,但穿透力不咋的。各种PHY总览: 2007里给出了5种PHY,也就是5种编码与调制方法,每种P
2014-04-30 12:49:22
3148
转载 802.11(wifi)的MAC层功能
MAC层是802.11的主要功能部分。上层应用通过调用MAC层提供的接口原语调用MAC层的功能。 MAC一共向上提供了2大类接口原语,共30种。数据(1)和管理(29)。数据部分就是提供普通数据包的收发接口,管理部分是主要功能部分,例如发起认证、连接、信道扫描等其它所有管理功能,如下表所示:(并非所有的原语都是可调用的,一部分是indication形式的向上通知。有request的是可
2014-04-30 12:47:57
1827
转载 802.11(wifi)的信道接入方式
信道接入看起来是PHY的活,但是这是一个算法,不是一个操作,所以是MAC的活,信道接入的几种方式就属于MAC层的功能了。 wi-fi的信道接入模式包括两种:CSMA/CA、节点协调模式。在无Qos的情况下,两种原生态的就可以了。在有Qos下,在两种的基础上分别定义了优先级来实现Qos传输。 CSMA/CA就是传说中的载波监听冲突检测,最基本的无线接入方式。IEEE
2014-04-30 12:47:00
4248
原创 Linux kernel panic解决方法
kernel panic错误表现kernel panic 主要有以下几个出错提示:Kernel panic-not syncing fatal exception in interruptkernel panic - not syncing: Attempted to kill the idle task!kernel panic - not syncing: killing in
2014-04-22 15:48:29
2406
转载 一般报java.lang.NullPointerException的原因有以下几种
一般报java.lang.NullPointerException的原因有以下几种:·字符串变量未初始化; ·接口类型的对象没有用具体的类初始化,比如: List lt; 会报错 List lt = new ArrayList(); 则不会报错了 ·当一个对象的值为空时,你没有判断为空的情况。 你可以试着把下面的代码前加一行代码: if(rb!=null);
2014-04-22 14:22:56
1256
原创 有用WIFI
http://blog.youkuaiyun.com/lilian0118?viewmode=contentshttp://blog.youkuaiyun.com/zjjdyb?viewmode=contents
2014-04-08 18:28:18
637
转载 WifiP2pService的启动以及P2P的连接
这一章主要总结从WifiP2pService的启动到用户通过四种连接方式连接P2P的过程,四种方式包括:主动连接、被动连接、主动invite和被动invite。首先来看WifiP2pService的启动。WifiP2pService的启动WifiP2pService的创建以及启动是在SystemServer中,主要代码如下:[java] view plainco
2014-04-08 18:26:21
1845
转载 Wireshark抓包工具使用教程以及常用抓包规则
Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析,不过要说明的是,这只是一个工具,用法是非常灵活的,所以今天讲述的内容可能无法直接帮你解决问题,但是只要你有解决问题的思路,学习用这个软件就非常有用了。Wireshark官方下载地址:http://www.wireshark.org/download.html如果记不住,可以在百度中输入W
2014-03-28 16:09:58
997
原创 Android开发,常用的终端命令
1. ubuntu下配置环境anroid变量:在终端执行 sudo gedit /etc/profile 打开文本编辑器,在最后追加#set android environment2. 运行Eclipse,还需要配置JAVA环境变量#set java environmentJAVA_HOME=/home/loginname/jdk目录名JRE_HOME=/home/loginn
2014-03-28 10:51:36
900
转载 Android中设置Ethernet为默认网络类型
Android中设置Ethernet为默认网络类型平台:RK3188版本:Android4.2.2 要求Ethernet网和WiFi要像PC机上那样能共存,且以Ethernet优先。其实这个问题说来简单,牵扯的东西很多,然后根据现象一点一点解决:现象1:先连接Ethernet网后连接WiFi的时候会将Ethernet断开现象2:先连接WiFi后,Ethe
2014-03-27 14:59:25
895
原创 Ubuntu 环境变量设置
环境变量配置文件在Ubuntu中有如下几个文件可以设置环境变量1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。3、~/.bash_profile:在登
2014-03-26 11:26:14
744
原创 tar 命令
tar -c|x|u|r|t[z|j][v] -f [未打包文件]将多个文件打包为一个归档文件,可以在打包的同时进行压缩。支持的格式为tar(归档)、gz(压缩)、bz2(压缩率更高,比较耗时) -c 创建 -x 解包 -u 更新 -r 添加 -t 查看 -d 比较压缩包内文件和文件
2014-03-25 12:51:54
687
原创 ConnectivityManager里面的类型14种连接类型
int TYPE_MOBILE ://移动数据连接,不能与连接共存,如果wifi打开,则自动关闭int TYPE_MOBILE_DUN ://网络桥接,很老的一个网络int TYPE_MOBILE_HIPRI ://高优先级的移动数据连接。相同的为{TYPE_MOBILE},但路由的设置是不同的。只有请求的进程将有机会获得移动的DNS服务器。int TYPE_MO
2014-03-18 17:29:15
3987
原创 APN(default、mms、supl、dun、hipri接入点类型的区别)
设置APN上网时,大家可能经常遇到这个问题:为什么有时要填写default有时要填写supl,而彩信又偏偏要mms?这个问题留到最后,让我们看看每个接入点类型的含义:英文原文来自于Google Android Developers原文连接:http://developer.android.com/reference/android/net/ConnectivityManager.h
2014-03-18 17:14:45
19175
转载 WiFi基本知识--
1. IE802.11简介标准号IEEE 802.11bIEEE 802.11aIEEE 802.11gIEEE 802.11n标准发布时间1999年9月1999年9月2003年6月2009年9月工作频率范围2.4-2.4835
2014-03-18 16:54:32
828
原创 WiFi Display
WiFI Display(WFD)是WiFI Alliance 开发出的一种规范,使多媒体设备之间建立和维持一个基于WiFi的连接,并且利用这个连接推进视频/音频的在目标设备的呈现播放。以下是原话The Wi-Fi Alliance is developing a “Wi-Fi Display Specification” to enable andsustain a secure c
2014-03-14 14:08:12
1126
原创 TDLS(Tunneled Direct Link Setup,通道直接链路建立)
日前WiFi联盟推出了名为TDLS(Tunneled Direct Link Setup,通道直接链路建立)的无线标准,这项标准允许两款设备通过WiFi网络进行点对点直连,与早起提倡的WiFi Direct相似,不过功能则更加完善。 据称TDLS标准除了可以实现WiFi Direct的功能外,还可以在后台运行并自动优化设备连接状况,用户可以在启用WiFi Direct后再开启TDLS标准,届
2014-03-14 13:48:21
4863
原创 [置顶] 优秀blog
http://blog.youkuaiyun.com/xubin341719三星方案http://www.lumit.org/LASO/源码开放学ARM 亚嵌教育研究中心http://blog.youkuaiyun.com/liukun321tiny210 uboot 唧的专栏老罗的Android之旅http://blog.youkuaiyun.com/Luoshengyang/
2014-03-12 16:49:45
1088
转载 高通平台android开发总结
1、高通平台android开发总结1.1 搭建高通平台环境开发环境在高通开发板上烧录文件系统建立高通平台开发环境高通平台,android和 modem 编译流程分析高通平台 7620 启动流程分析qcril 流程分析,设置sim卡锁python scons 语法学习Python 语言之 scons 工具流程分析: 1.2 搭建高通平台环境开发环境高通an
2014-03-12 16:41:51
2294
转载 Softap热点原理分析 Android4.1.2
设置中开关:packages/apps/Settings/src/com/android/settings/TetherSettings.java|----private void startTethering()| |----mWifiApEnabler.setSoftapEnabled(true);packages/apps/Settings/src
2014-03-11 10:51:51
1490
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人