自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (4)
  • 收藏
  • 关注

转载 Java Reflection

想必学过JAVA的人一定接触过“反射”(Reflection)这个名词,简单的来说,反射机制就是允许编程人员在程序运行时来改变程序的结构或者变量的类型。通过这个特性,我们可以在运行时得知某个类的所有成员,包括其属性和方法,同时也能够调用这些方法。请注意反射机制的特殊之处就在于可以使用编译期间完全未知的类,也就是通过反射机制可以加载一个在运行时才得知名字的类,从而取得其内部的成员函数并调用。

2015-12-09 17:50:02 399

原创 Android Boot Slice(1st)

Android Boot Slice基本流程再捋一遍:Kernel ---> init ---> (by RC script) ---> zygote(app_process NATIVE) ---> Android Runtime ---> StartVm ---> zygote init(JAVA) ---> systemserver ---> PMS+AMS+...Whe

2015-11-12 14:58:13 750

原创 我的进阶曲线十三

binder_mmap目前在代码中size为:BINDER_VM_SIZE在我们手机里面通过 adb shell cat /proc/vmallocinfo 可以看到,通过binder_mmap映射的虚拟内存正好是这么大:(1020K)查看应用启动时长am start -W -n com.example.appstart.yespreview/com.example

2015-10-27 16:45:14 606

原创 我的沉思---生产,消费以及其他

.消费者价值起源:门格尔和奥地利学派确定了的消费者在生产行为决策中的最重要的地位,是消费者的最终需求,而不是工作时间或是生产成本决定生产过程中的结构和定价。奥地利学派称之为他们的“归属理论”。效用(imputed)决定投入的价值。证明这一关系后,奥地利学派创建了不再隶属于马克思社会主义的新模型。

2015-10-12 15:49:47 335

原创 我的进阶曲线十二

PowerManagerService.java            case WAKEFULNESS_ASLEEP:                Slog.i(TAG, "Waking upfrom sleep...");               sendPendingNotificationsLocked();                mNotifier.onWa

2015-10-10 15:27:44 698

原创 我的进阶曲线十一

KeyguardViewMediator  // Let's us knowthe screen was turned on.OnScreenTurnedOn     // Send amessage to keyguard telling it the screen just turned on.NotifyScreenOnLocked        Message ms

2015-10-10 15:26:37 606

原创 我的进阶曲线之十

Malloc代码实现 dlmalloc  /*     Basic algorithm:     If a small request (       1. If one exists, use a remainderlesschunk in associated smallbin.          (Remainderless means that there ar

2015-10-10 15:25:53 340

原创 我的进阶曲线之九

public abstract class ActivityManagerNative extends Binderimplements IActivityManager      /**     * Cast a Binder object into an activitymanager interface, generating     * a proxy if neede

2015-10-10 15:25:26 330

原创 我的进阶曲线之八

Android Binder

2015-10-10 15:24:53 419

原创 我的进阶曲线之七

init.rcservice zygote/system/bin/app_process -Xzygote /system/bin --zygote --start-system-serverapp_main.cpp    if (zygote) {      runtime.start("com.android.internal.os.ZygoteInit",

2015-10-10 15:24:13 287

原创 我的进阶曲线之六

用更少的内存来运行Android简介android现在可以运行在只有512M RAM的设备上了。本文就是用来帮助OEM厂商进行配置和优化,使得Android4.4运行在低内存设备上。部分优化措施因为比较通用,也可以在前几个android版本上部署。Android 4.4 平台优化策略优化内存管理检查内核节省内存的相关配置,如KSM(Kerne

2015-10-10 15:23:35 371

原创 我的进阶曲线之五

andriod  watchdog 需要各个应用自身去注册监听adb shell dumpsys activity services > a-s.txt 或者 adb shell service list

2015-10-10 15:20:58 692

原创 我的进阶曲线之四

参考链接:http://www.ihref.com/read-16369.html#4.1 git add 仅仅是提交到缓存git reset HEAD 从缓存中删除git commit 根据缓存生成磁盘快照 (git commit -a 就可以把 git add一并做了)git commit --amend 修改最后一次提交的注释g

2015-10-10 15:15:49 388

原创 我的进阶曲线之三

*#9527*# 工厂模式WAKELOCK TYPE:PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯FULL_WAKE_LOCK

2015-10-10 14:29:33 826

原创 我的进阶曲线之二

WAKELOCK TYPE:PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯FULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,

2015-10-10 11:46:57 353

原创 我的进阶曲线之一

在Linux中文件名前加上.表示是一个隐藏文件。U-Boot可支持的主要功能列表:* 系统引导;* 支持NFS挂载、RAMDISK(压缩或非压缩)形式的根文件系统;* 支持NFS挂载、从FLASH中引导压缩或非压缩系统内核;* 基本辅助功能 强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤对Linux支持最为

2015-09-29 10:30:13 643

原创 ARM调用规范

形象简述ARM调用规范

2015-08-28 14:02:54 758

原创 谷歌官方制作的 android性能优化典范 视频,我下载下来了并做了分享,希望更多人受益吧。

谷歌官方制作的 android性能优化典范 视频,我下载下来了并做了分享,希望更多人受益吧。http://pan.baidu.com/s/1pJFTjmV

2015-04-09 10:49:02 902

原创 Android系统调用流程---以open为例

Android系统调用流程---以open为例 在bionic\libc\unistd\open.c中,有用户空间的open系统调用函数,如下:int open(const char *pathname, int flags, ...)return__open(pathname, flags, mode);可见调用到了 __open函数。 那我们接着去找__open函数

2015-03-06 17:06:33 1472

原创 Binder mmap

Binder mmapBy yacoo 这篇小文,只说明一件事情,如何从应用层的binder mmap调用到binder驱动mmap。 1.       先给出两个打开binder设备的场景,我们可以看到,mmap 空间的size并不一样。l  service_manager.cintmain(int argc, char **argv)bs = binder_op

2015-03-06 16:34:47 758

原创 史上最坑的函数 --- strtok

史上最坑的函数 --- strtokp = strtok(src, ",");if(p){    p = func();}p= strtok(NULL, ",");  ---就这里,会产生异常返回结果的!假如在 func() 中执行了 strtok()

2015-03-06 15:56:45 484

原创 Android Intent的实质

这篇代码分析,说明了一个小问题:Intent的实质是binder

2015-03-06 13:54:44 473

任意APK调试方案(eclipse+gdb)

采用 apktool反编译apk,结合 eclipse+ndk-gdb进行任何apk的native层面的调试。

2014-03-28

NativeActivity调用过程

以销毁activity为例,分析了native apk的调用流程。

2014-03-28

无源码APK调试方案之二

不需要eclipse,直接用gdb来调试apk。

2014-03-28

Android系统调用流程

以系统调用open为例,深刻地分析了Android系统调用流程。

2014-03-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除