`
文章列表
协议。手机终端跟后台服务器之间的交互协议,这个协议的设计是整个系统的骨架,在这一点做好设计可以使得系统的复杂度大大降低。容灾。当系统出现了若干服务器或若干支架(宕机的时候),仍然需要让系统尽可能的提供正 ...
享元(FlyWeight)模式,原意是“轻量级”模式,它用来解决大量相同对象被多次实例化,从而导致内存被大量占用的情况。在有的时候我们要多次使用某个类中的公有实例方法,我们通常的做法是,先new一个该类的实例,然后再调用该类的这个方法,调用完毕后这个类也就变成垃圾。这种调用方式如果出现的频率很高,会在对象生成和内存占用上付出很大的代价,享元模式尽可能多地节省对象的生成次数,让多个对象共用一个缓存中的对象。享元模式中关键要理解“内蕴状态”(Internal State)和“外蕴状态”(External State)这两个概念。    内蕴状态:存储在享元对象内部,不随着环境改变,要以被诸多对象共享 ...

statusbar 2.3

以前我的文章分析过StatusBar上图标显示的流程,现在分析一下在Android2.3中,StatusBar的架构,其实StatusBar的实现方法还是进行了许多大的修正的,比如原来StatusBar的操作都是在Service进程中,现在许多图标显示更新等的操作都移到 ...
设置默认输入法   在 frameworks\base\core\res\res\values\config.xml 添加一个属性:       <!--leo add-->     <string name="config_default_input_method">com.android.inputmethod.pinyin/.PinyinIME</string>              frameworks\base\services\java\com\android\server\InputMethodManagerS ...
下面是系统图            MediaScannerReceiver会在任何的ACTION_BOOT_COMPLETED, ACTION_MEDIA_MOUNTED或 ACTION_MEDIA_SCANNER_SCAN_FILE 意图(intent)发出的时候启动。因为解析媒体文件的元数据或许会需要很长时间,所以MediaScannerReceiver会启动MediaScannerService。 MediaScannerService调用一个公用类MediaScanner去处理真正的工作。MediaScannerReceiver维持两种扫描目录:一种是内部卷(inte ...
在Android下面也有多线程的概念,在C/C++中,子线程可以是一个函数,一般都是一个带有循环的函数,来处理某些数据,优先线程只是一个复杂的运算过程,所以可能不需要while循环,运算完成,函数结束,线程就销毁。对于那些需要控制的线程,一般我们都是和互斥锁相互关联,从而来控制线程 的进度,一般我们创建子线程,一种线程是很常见的,那就是带有消息循环的线程。消息循环是一个很有用的线程方式,曾经自己用C在Linux下面实现一个消息循环的机制,往消息队列里添加数据,然后异步的等待消息的返回。当消息队列为空的时候就会挂起线程,等待新的消息的加入。这是一个很通用的机制。在Android,这里的线程分为有消 ...
背光设置是在:设置->声音和显示->亮度,通过进度条来设置的。文件:packages/apps/Settings/src/com/android/settings/BrightnessPreference.javaprivate static final int MINIMUM_BACKLIGHT = android.os.Power.BRIGHTNESS_DIM + 10;private static final int MAXIMUM_BACKLIGHT = android.os.Power.BRIGHTNESS_ON;mSeekBar.setMax(MAXIMUM_BACKLI ...
默认分类 2010-12-24 14:34:55 阅读144 评论1   字号:大中小 订阅 frameworks/base/services/java/com/android/server/PowerManagerService.java 首先通过sensormanager来获得service 这里以light sensor为例  void systemReady() {        mSensorManager = new SensorManager(mHandlerThread.getLooper());        mProximitySensor = mSensorMa ...
1. Framework层的代码:  Android中,整个framework层的组件的初始化是在SysteServer.java中完成的,这些组件都是系统级组件,包括HardwareService,PowerManagerService,WindowManagerService  BluetoothDeviceService,ActivityManagerService......,具体代码在ServerTh ...
我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件, ...
reachable, the following happens:A set ref of references is determined. ref contains the following elements:All weak references pointing to obj.All weak references pointing to objects from which obj is either strongly or softly reachable.All references in ref are atomically cleared.All objects former ...
ubuntu9.04 字体安装两种方法 文章分类:JavaEye 字体搭配:推荐安装雅黑和consolas的混合字体(见附件),宋体。firefox,gedit使用宋体,eclipse使用Courier New。其他软件一律使用雅黑。 安装方法一:运行如下命令 引用 sudo mkdir -p /usr/share/fonts/zh_CN/TrueType/ sudo cp 字体文件(如雅黑simsun.ttc) /usr/share/fonts/zh_CN/TrueType/ sudo ...
文章分类:移动开发 好么,2.0的源码没看几天,2.1的出了。 学习记录一下, 主要是Launcher启动时从数据库读取各种桌面物件信息到最后显示到屏幕桌面上的流程。 之前看2.0的时候,大概能分出来下面四个层次,2。1里面基本一样: DB--mListInModel--mListInLauncher--ViewChildInCellLayout I II III IV 扫了下代码,Launcher里面对这些东西有改动的重要是下面几个函数 FunA:  bindAppWidget(LauncherAppWidgetInfo item) 1. workspace add view. --&g ...
Google’s Android SDK includes android.jar, which contains the Android public API class files. They also provide an Eclipse plugin, making it quite easy to get started. What you will not find, however, is androidSrc.jar, so when you try to look at Android SDK source code in Eclipse, you get somethin ...
 1 我的系统是Ubuntu 8.04     * 2 系统上必须安装以下工具(摘自网上的资料):               sudo apt-get install build-essential        sudo apt-get install make        sudo apt-get install gcc        sudo apt-get install g++        sudo apt-get install libc6-dev               sudo apt-get install flex        sudo apt-get insta ...
Global site tag (gtag.js) - Google Analytics