<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yk_hu0621的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yk_hu0621</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yk_hu0621]]></copyright><item><title><![CDATA[打造自己的chrome for android]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/19017507</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/19017507</guid><author>yk_hu0621</author><pubDate>Sun, 09 Feb 2014 21:37:50 +0800</pubDate><description><![CDATA[chromium移植已经接近尾声，正在冲刺beta版本。不过越往后面，越是一些难啃的骨头。虽然背靠chromium这座大山，但是网页的复杂性超乎想象。更郁闷的是，有些BUG在chrome for android上没有，但在我们的浏览器上存在。因此经常会有这样的质疑：人家的chrome浏览器好好的，你做的浏览器为什么会有这样的问题。面对这样的质疑，真是有苦说不出。在有些人看来，别人都把源代码开放出来]]></description><category></category></item><item><title><![CDATA[linux内核书籍]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/8804592</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/8804592</guid><author>yk_hu0621</author><pubDate>Mon, 15 Apr 2013 16:39:41 +0800</pubDate><description><![CDATA[1.Linux Kernel Development
2.Understanding the Linux Kernel
3.Linux Device Drivers
4.Linux内核源代码情景分析
按顺序彻底研究。]]></description><category></category></item><item><title><![CDATA[MP3 ID3信息解析]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/8533786</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/8533786</guid><author>yk_hu0621</author><pubDate>Wed, 23 Jan 2013 13:46:31 +0800</pubDate><description><![CDATA[ID3官网： http://www.id3.org/
一.  MP3文件大体分为三部分：TAG_V2(ID3V2)，Frame, TAG_V1(ID3V1)
       ID3V2
包含了 作者，作曲，专辑 等信息，长度不固定，扩展了ID3V1的信息量。
Frame
一系列的帧，个数由文件大小和帧长决定
每个FRAME的长度可能不固定，也可能固定，由位率bitrate决定
每个FR]]></description><category></category></item><item><title><![CDATA[用arm-eabi-objdump命令查看lib库或可执行文件的函数-地址映射信息]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7970544</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7970544</guid><author>yk_hu0621</author><pubDate>Wed, 12 Sep 2012 12:02:24 +0800</pubDate><description><![CDATA[用arm-eabi-objdump命令查看lib库或可执行文件的函数-地址映射信息

source build/envsetup.sh
choosecombo


arm-eabi-objdump -d out/target/product/generic/system/bin/mediaserver >mediaserver.addr 将mediaserver地址信息写入文件medi]]></description><category></category></item><item><title><![CDATA[OTA和apk包签名]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7913663</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7913663</guid><author>yk_hu0621</author><pubDate>Mon, 27 Aug 2012 20:32:47 +0800</pubDate><description><![CDATA[java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 unsigned-update.zip signed-update.zip
签名工具要根据项]]></description><category></category></item><item><title><![CDATA[Android软件测试的日志文件抓取简介]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7231600</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7231600</guid><author>yk_hu0621</author><pubDate>Fri, 03 Feb 2012 15:33:55 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/xuben/archive/2011/09/26/2191571.html



1    log文件分类简介
           实时打印的主要有：logcat main，logcat radio，logcat events，tcpdump，还有高通平台的还会有QXDM日志
         状态信息的有：adb shell ca]]></description><category></category></item><item><title><![CDATA[android debug]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7231542</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7231542</guid><author>yk_hu0621</author><pubDate>Fri, 03 Feb 2012 15:18:03 +0800</pubDate><description><![CDATA[1. logcat
adb logcat: 打印main log, 输出线程时间。也可以写做adb logcat -b main 
adb logcat -b radio: 打印radio log，所有telephony和RIL层log全部输出在radio buffer中
adb logcat -b event: 打印event log。包含activity状态切换、进程回收等系统层事件。系]]></description><category></category></item><item><title><![CDATA[其他应用返回launcher桌面的流程]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7190444</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7190444</guid><author>yk_hu0621</author><pubDate>Tue, 10 Jan 2012 12:06:23 +0800</pubDate><description><![CDATA[分两种清形：launcher已被回收需重新启动activity 和 恢复launcher的activity
Activity:onKeyUp handle KEYCODE_BACK ->
Activity:onBackPressed->
Activity:finish->
ActivityManagerProxy:finishActivity->
ActivityManagerNative:FI]]></description><category></category></item><item><title><![CDATA[利用oom_adj提高Application所在进程的优先级]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7168453</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7168453</guid><author>yk_hu0621</author><pubDate>Sat, 31 Dec 2011 14:16:40 +0800</pubDate><description><![CDATA[1.增加Application属性android:gnHeavyWeight
2.在Manifest Application中声明使用属性android:gnHeavyWeight="true"
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/Applic]]></description><category></category></item><item><title><![CDATA[打开ppp packet打印]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7106980</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7106980</guid><author>yk_hu0621</author><pubDate>Tue, 27 Dec 2011 19:54:51 +0800</pubDate><description><![CDATA[diff --git a/pppd/utils.c b/pppd/utils.c
index 6f668b8..6f1db8f 100644
--- a/pppd/utils.c
+++ b/pppd/utils.c
@@ -670,9 +670,10 @@ log_write(level, buf)
     int level;
     char *buf;
 {
+    dbglog("]]></description><category></category></item><item><title><![CDATA[android内存统计]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7091281</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7091281</guid><author>yk_hu0621</author><pubDate>Wed, 21 Dec 2011 14:33:36 +0800</pubDate><description><![CDATA[由于linux内核和native service使用的内存在settings中统计不出来，因此对于分析内存相关问题时，使用procrank命令则能比较清晰的获取每个进程占用的内存资源

$adb shell procrank
  PID      Vss      Rss      Pss      Uss  cmdline
  159   49668K   39664K   19857K]]></description><category></category></item><item><title><![CDATA[Android的进程回收]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7085536</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7085536</guid><author>yk_hu0621</author><pubDate>Mon, 19 Dec 2011 20:40:32 +0800</pubDate><description><![CDATA[转自



Android中的进程是托管的,当系统进程空间紧张的时候,会依照优先级自动进行进程的回收.
由此带来三个问题：
回收规则:  什么时候回收与回收哪一个
避免误杀:  如何阻止被回收
数据恢复与保存:  被回收了怎么办
 
Android将进程分为6个等级,它们按优先级顺序由高到低依次是:
1.前台进程( FOREGROUND_APP)
2.可视进程(VISIBL]]></description><category></category></item><item><title><![CDATA[qwerty物理键盘布局和特殊符号布局]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7074713</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7074713</guid><author>yk_hu0621</author><pubDate>Thu, 15 Dec 2011 16:49:51 +0800</pubDate><description><![CDATA[键盘布局文件: qwerty.kcm
驱动键值变成android KeyCode的过程：
qwerty.kcm: scaleCode -> 键名
KeycodeLables.h: 键名->Keycode



特殊符号映射: qwerty.kl
将SYM键改成输入特殊符号：
在qwerty.kcm增加

SYM             0xEF01  0xEF01  0xEF]]></description><category></category></item><item><title><![CDATA[如何将宏的非字符串定义变成字符串]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/7001690</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/7001690</guid><author>yk_hu0621</author><pubDate>Tue, 22 Nov 2011 19:56:42 +0800</pubDate><description><![CDATA[#include  

#define PRJ abcdef
#define QUOTE_MACRO2(x) #x //给x加双引号
#define QUOTE_MACRO(x) QUOTE_MACRO2(x) //当x为宏时，使得它有机会被替换成宏的定义
#define QUOTE_PRJ_NAME QUOTE_MACRO(PRJ)

int main()
{
    printf("QUOTE]]></description><category></category></item><item><title><![CDATA[android 可用内存的阀值--转载]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/6678981</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/6678981</guid><author>yk_hu0621</author><pubDate>Thu, 11 Aug 2011 15:01:15 +0800</pubDate><description><![CDATA[Android采取了一种有别于Linux的进程管理策略，有别于Linux的在进程活动停止后就结束该进程，Android把这些进程都保留在内存中， 直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度，并且当用户再次激活这些进程时，提升了进程的启动速]]></description><category></category></item><item><title><![CDATA[Android c和c++函数调用堆栈分析]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/6586390</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/6586390</guid><author>yk_hu0621</author><pubDate>Tue, 05 Jul 2011 18:45:26 +0800</pubDate><description><![CDATA[logcat 里把崩溃信息拷贝出来，然后：source build/envsetup.shchoosecombodevelopments/tools/scripts/stack crash.log用arm-eabi-objdump命令查看lib库或可执行文件的]]></description><category></category></item><item><title><![CDATA[Android 中显示 Gif 格式图]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/6529919</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/6529919</guid><author>yk_hu0621</author><pubDate>Tue, 07 Jun 2011 16:32:00 +0800</pubDate><description><![CDATA[引用： http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.html 参考 Apidemos 中 com.example.android.apis.graphics  BitmapDecode.java 中的示例代码。			它的实现是通过 Movie 这个类来对 Gif 文件进行读取]]></description><category></category></item><item><title><![CDATA[Android Resource与反射]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/6524113</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/6524113</guid><author>yk_hu0621</author><pubDate>Fri, 03 Jun 2011 09:44:00 +0800</pubDate><description><![CDATA[JAVA语言中的反射机制：    在Java 运行时 环境中，对于任意一个类，能否知道这个类有哪些属性和方法？    对于任意一个对象，能否调用他的方法？这些答案是肯定的，这种动态获取类的信息，以及动态调用类的方法的功能来源于JAVA的反射。从而使java具有动态语言的特性。  JAVA反射机制主要提供了以下功能：      1.在运行时判断任意一个对象所属的类  ]]></description><category></category></item><item><title><![CDATA[Android 中的ANR 问题，响应灵敏性]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/6458941</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/6458941</guid><author>yk_hu0621</author><pubDate>Wed, 01 Jun 2011 12:16:00 +0800</pubDate><description><![CDATA[<br />转自：http://www.cnblogs.com/xirihanlin/archive/2010/01/07/1641621.html<br /> <br />可能会存在这样的情况，你写的代码通过了世界上所有的性能测试，但当用户尝试使用你的应用程序时，仍然让用户感到不爽。应用程序响应不够灵敏的地方包括——反映迟钝，挂起或冻结很长时间，或者需要花费很长的时间来处理输入。<br /> <br />在Android上，如果你的应用程序有一段时间响应不够灵敏，系统会向用户显示一个对话框，这个对话框称作]]></description><category></category></item><item><title><![CDATA[Android输入法框的梳理]]></title><link>https://blog.youkuaiyun.com/yk_hu0621/article/details/6445786</link><guid>https://blog.youkuaiyun.com/yk_hu0621/article/details/6445786</guid><author>yk_hu0621</author><pubDate>Wed, 25 May 2011 19:34:00 +0800</pubDate><description><![CDATA[<br />转自：http://blog.youkuaiyun.com/a345017062/archive/2011/01/06/6121147<br /> <br /> <br />/frameworks/base/services/java/InputMethodManagerService.java<br />这是整个系统当中，一切与输入法有关的地方的总控制中心。它通过管理下面三个模块来实现系统的输入法框架。<br />1、/frameworks/base/services/java/WindowManager]]></description><category></category></item></channel></rss>