android架构

Android开发之旅:android架构

爱⌒轻易说出口 提交于 2019-12-31 19:07:25
http://www.cnblogs.com/skynet/archive/2010/04/15/1712924.html Android开发之旅:android架构 2010-04-15 19:40 by 吴秦, 62477 阅读, 21 评论, 收藏 , 编辑 引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。本文的主题如下: 1、架构图直观 2、架构详解 2.1、Linux Kernel 2.1、Android Runtime 2.3、Libraries 2.4、Application Framework 2.5、Applications 3、总结 1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于

Android开发之旅3:android架构

狂风中的少年 提交于 2019-12-31 19:06:51
引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。本文的主题如下: 1、架构图直观 2、架构详解 2.1、Linux Kernel 2.1、Android Runtime 2.3、Libraries 2.4、Application Framework 2.5、Applications 3、总结 1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于:android sdk) 可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。 2

Android:Layout_weight的深刻理解

孤街醉人 提交于 2019-12-30 17:23:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 2012-12-31 14:59 佚名 OSChina 我要评论( 0 ) 字号: T | T 本文详细介绍了Android布局中Layout_weight的属性,它是用来分配属于空间的一个属性,你可以设置他的权重。 AD: 2013云计算架构师峰会超低价抢票中 最近写Demo,突然发现了Layout_weight这个属性,发现网上有很多关于这个属性的有意思的讨论,可是找了好多资料都没有找到一个能够说的清楚的,于是自己结合网上资料研究了一下,终于迎刃而解,写出来和大家分享。 首先看一下Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重。很多人不知道剩余空间是个什么概念,下面我先来说说剩余空间。 看下面代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android

为Android安装BusyBox

て烟熏妆下的殇ゞ 提交于 2019-12-29 22:20:55
大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽。是否想过在 Android 上使用较完整的shell呢?用 BusyBox 吧。不论使用adb连接设备使用命令行还是在手机上直接用terminal emulator都可以。 一、什么是 BusyBox ? BusyBox 是标准 Linux 工具的一个单个可执行实现。 BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。(摘自百度百科 http://baike.baidu.com/view/1429588.htm ) 二、在Android上安装 BusyBox 准备: 1. 下载BusyBox的binary,打开这个地址 http://www.busybox.net/downloads/binaries ,选择最新版本,然后下载对应你的设备架构的版本,这里我下载了busybox-armv6l,下面将以这个文件名为示例。 2. 需要有一个命令行的环境

android多so文件解析

僤鯓⒐⒋嵵緔 提交于 2019-12-28 12:37:14
android支持如下7中CPU架构 目前android支持如下7中CPU架构: armeabi 第5代 ARM v5TE,使用软件浮点运算,兼容所有ARM设备,通用性强,速度慢(只支持armeabi) armeabi-v7a 第7代 ARM v7,使用硬件浮点运算,具有高级扩展功能(支持 armeabi 和 armeabi-v7a,目前大部分手机都是这个架构) arm64-v8a 第8代,64位,包含AArch32、AArch64两个执行状态对应32、64bit(支持 armeabi-v7a、armeabi 和 arm64-v8a) x86 intel 32位,一般用于平板(支持 armeabi(性能有所损耗) 和 x86) x86_64 intel 64位,一般用于平板(支持 x86 和 x86_64) mips 基本没见过(支持 mips) mips64 基本没见过(支持 mips 和 mips_64) 单个cpu架构文件夹下包含多个so文件 现在以armeabi-v7a架构下的文件夹为例 如上图所示,该文件夹下的共有6个so文件。 在生成符号表时,需要对这6个so文件都执行执行如下步骤: 执行生成符号文件命令: $ dump_syms libxxx.so > libxxx.so.sym 查看libxxx.so.sym文件内容,从头部获取uuid

腾讯面试官:同学,说说 Applink 的使用以及原理

你离开我真会死。 提交于 2019-12-28 00:56:13
简介 通过 Link这个单词我们可以看出这个是一种链接,使用此链接可以直接跳转到 APP,常用于应用拉活,跨应用启动,推送通知启动等场景。 流程 在AS 上其实已经有详细的使用步骤解析了,这里给大家普及下 快速点击 shift 两次,输入 APPLink 即可找到 AS 提供的集成教程。 在 AS 中已经有详细的使用步骤了,总共分为 4 步 add URL intent filters 创建一个 URL 或者也可以点击 “How it works” 按钮 Add logic to handle the intent 选择通过 applink 启动的入口 activity。 点击完成后,AS 会自动在两个地方进行修改,一个是 AndroidManifest <activity android:name=".TestActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" android

常见的操作系统有哪些?

和自甴很熟 提交于 2019-12-26 22:40:27
一、常见的操作系统有哪些? 1、 Windows 操作系统 应用比较广泛。 2、 Linux 操作系统 免费使用,类UNIX 3、 Unix 操作系统 无界面,使用命令操作,一般安装在服务器上面。 4、 Mac 操作系统 苹果公司开发的,一般PC不能使用。 摘自: https://blog.csdn.net/a15028596338/article/details/83021719 二、我们现在常见的操作系统的体系结构有哪些呢? 第二节 操作系统的体系结构 目前流行的操作系统有Windows操作系统、UNIX操作系统、Linux操作系统和Android操作系统等。 一、Windows操作系统的体系结构 Windows体系结构是分层的模块系统,主要层次有 硬件抽象层HAL、内核、执行体和大量的子系统集合 。 子系统又分为环境子系统和保护子系统,其中环境子系统仿真不同的操作系统,保护子系统提供安全功能。 1、内核 内核执行Windows操作系统中最基本的操作,主要提供 线程调度、陷入处理和异常调度、中断处理和调度、多处理器同步、供执行体使用 的基本内核对象。 Windows操作系统的内核始终运行在核心态,代码短小紧凑,可移植性也好。通常,除了中断程序例程,正在运行的线程是不能抢先内核的。 2、硬件抽象层 Windows操作系统设计的一个至关重要的方面就是在 多种硬件平台上的可移植性

Android面试之---讲一下你对Activity的了解(面试必问的).

冷暖自知 提交于 2019-12-26 21:20:58
这篇文章会涉及到以下几个内容 一 Activity的生命周期 二 让Activity变成一个窗口:Activity属性设定 三 你后台的Activity被系统 回收怎么办:onSaveInstanceState 四 调用与被调用:我们的通信使者 - Intent 一 Activity的生命周期 和其他手机 平台 的应用 程序 一样, Android 的应用程序 的生命周期是被统一掌控 的,也 就是说我们写的应用程序命运掌握在别人(系统)的手里,我们不能改变它,只能学习 并 适应它。 简单地说一下为什么是这样:我们手机在运行 一个应用程序的时候,有可能打进来电话 发进来短信 ,或者没有电了,这时候程序都会被中断,优先去服务电话的基本功能 ,另 外系统也不允许你占用太多资源 ,至少要保证电话功能吧,所以资源不足的时候也就有可 能被干掉。 言归正传,Activity的基本生命周期如下代码 所示: Java 代码 public class MyActivity extends Activity { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onResume(); protected void onPause(); protected void

Android SystemUI 架构详解

三世轮回 提交于 2019-12-26 00:42:45
Android SystemUI 架构详解 本文描述Android系统中一个核心应用SystemUI,详细赘述SystemUI中几大模块功能的实现过程。由于作者水平有限,如发现本文中错误的地方,欢迎指正。 1、SystemUI介绍 1.1、SystemUI摘要 在Android系统中SystemUI是以应用的形式运行在Android系统当中,即编译SystemUI模块会生产APK文件,源代码路径在frameworks/base/packages/SystemUI/,安装路径system/priv-app/-SystemUI。 1.2、什么是SystemUI 在前文1.1章节中可知,SystemUI是一个普通的APK文件,即是一个普通的APP,但是,手机使用者看见的所有SystemUI的内容都不像是一个APP,为什么?既然是一个应用,就是完成特定的功能,SystemUI主要完成的功能有: (1)、Status bars (2)、Navigation bars (3)、Notification (4)、Lockscreen (5)、Quick settings (6)、Overview(recent task switcher) (7)、VolumeUI 2、SystemUI的启动过程 正如1.2中所述,SystemUI任何内容都不像一个APP

Android推送通知指南

孤人 提交于 2019-12-25 15:51:53
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。 在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务,起初我就是准备采用这个服务来实现自己手机上的推送功能。 Android Cloud to Device Messaging (C2DM)是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供了一个简单的、轻量级的机制,允许服务器可以通知移动应用程序直接与服务器进行通信,以便于从服务器获取应用程序更新和用户数据。C2DM服务负责处理诸如消息排队等事务并向运行于目标设备上的应用程序分发这些消息。 但是经过一番研究发现,这个服务存在很大的问题: 1)C2DM内置于Android的2.2系统上,无法兼容老的1.6到2.1系统; 2)C2DM需要依赖于Google官方提供的C2DM服务器,由于国内的网络环境,这个服务经常不可用,如果想要很好的使用,我们的App Server必须也在国外,这个恐怕不是每个开发者都能够实现的; 有了上述两个使用上的制约,导致我最终放弃了这个方案