屏幕适配

基本概念

屏幕尺寸

屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米

屏幕分辨率

屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点

屏幕像素密度

屏幕像素密度是指每英寸上的像素点数

dp、dip、dpi、sp、px

  • dpi:屏幕像素密度
Read More

组件化之路

Android项目架构发展史

在说组件化之前,有必要讲讲Android项目的设计发展过程,也有必要讲讲在移动端兴起之前,其他语言是如何做项目架构设计的。

写代码最基础的一个准则就是分层,分层有利于扩展。比如我们的计算机就分为硬件、驱动、系统层、应用层,网络被分为物理层、数据链路层、网络层、传输层、应用层。
而写代码中最著名的分层思想就是MVC。MVC模式最早由Trygve Reenskaug在1978年提出,MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,
并且使程序某一部分的重复利用成为可能。除此之外,此模式透过对复杂度的简化,使程序结构更加直观。软件系统透过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。

运用MVC,我们会把代码分为视图(View)、模型(Model)、控制器(Controller),不同层也可以向上抽象,比如抽离出通用的视图,达到复用的效果。

Android中,我们是如何进行重构优化的呢?

Read More

Dalvik、ART虚拟机

概要

Dalvik 是 Google 公司自己设计用于 Android 平台的虚拟机。它可以支持已转换为** .dex 格式**的 Java 应用程序的运行,.dex 格式是专为Dalvik 设计的一种压缩格式,适合内存和处理器速度有限的系统。

Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的 Linux 进程执行。独立的进程可以防止在虚拟机 崩溃的时候所有程序都被关闭。

2014 年 6 月 25 日,Android L 正式亮相于召开的谷歌 I/O 大会,Android L 改 动幅度较大,谷歌将直接删除 Dalvik,代替它的是传闻已久的 ART。

Dalvik与JVM的区别

  • Dalvik 是基于寄存器的,而 JVM 是基于栈的。
Read More