一、概述 本文主要讲述虚拟机如何把 Class文件加载到内存的过程。校验、转换解析和初始化,最终形成可被虚拟机使用的Java类型,这就是虚拟机的类加载机制。类型的加载、连接和初始化都是在程序运行期间完成,这样做的优劣势,…
标签:Gityuan
Jvm系列2—Class文件格式
Java编译过程是将Java文件转换为Claaa文件,从而实现了跨平台的功能, 本文详细讲述Class文件结构。 一、 概述 计算机只能识别0和1,所以大家编写的程序都需要经过编译器,转换为由0和1组成的二进制本地机器码…
ps进程命令
概述 在adb shell终端,输入 ps,可查看手机当前所有的进程状态,其中ps的英文全称是Process Status。 ps命令对于分析系统异常情况时都是必备的技能,需要通过这个简单命令来查看系统真实的状态。 命令…
Dalvik与ART虚拟机的GC调试日志
本文主要讲述Dalvik与ART两种Android虚拟机,在GC时产生log信息的含义,便于分析。 一、Dalvik 1.1 GC含义 Dalvik虚拟机,每一次GC打印内容格式: D/dalvikvm: <GC_…
进程优先级
线程与进程的最大区别就是是否共享父进程的地址空间,内核角度来看没有线程与进程之分,都用task_struct结构体来表示,调度器操作的实体便是task_struct。 一、 进程优先级 进程可划分为普通进程和实时进程,那…
APP优化小建议
从代码角度,列举一些针对Android的App开发的优化小建议 1. 广播 应用程序内部广播通信,优先采用LocalBroadcastManager,安全性更好,运行效率更高。 见文章LocalBroadcastMana…
Android事件分发机制
一.概述 事件分发有多种类型, 本文主要介绍Touch相关的事件分发. 整个事件分发流程中,会有大量MotionEvent对象,该对象用于记录所有与移动相关的事件,比如手指触摸屏幕事件。 一次完整的MotionEvent…
Android Launcher源码
一、引言 最近遇到同一芯片平台的两款手机,在桌面滑动跟手性为何还有所差异呢,于是乎研究了一下Launcher滑动相关源码。 本文主要是介绍Launcher3屏幕滑动过程,首先需要了解Android的触摸事件分发机制。关于…
adb连接不上手机的解决方法
adb驱动已正常安装,但仍无法通过adb devices找到设备? Windows用户 方法1 如果有sdk环境,只需要进入路径/{sdk目录}/tools/,再执行: Android update adb 方法2 如果…
grep && find命令用法
Linux下搜索文件内容常用grep,搜索文件信息使用find 一、 grep 搜索文本的命令 命令格式: grep [options]... pattern [file]... 命令格式: grep 查找规则... 正…
源码解读Android属性动画
一. 概述 前面已介绍Android属性动画的启动方式: // [见小节2.1] ObjectAnimator anim = ObjectAnimator.ofFloat(targetObject, "alpha", 0…
Android三种动画实现
作为Android开发者,动画是非常重要的知识点,本文主要从入门角度来探索动画。 一、概述 Android的动画主要包括三大类:逐帧动画Frame、补间动画Tween、属性动画,其中属性动画功能非常强大,也是最常用的动画…