2024年安卓最全Android的apk组成结构(1),2024年最新一线互联网公司面经总结

总结

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的Android开发中高级必知必会核心笔记,共计2968页PDF、58w字,囊括Android开发648个知识点,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

2021年虽然路途坎坷,都在说Android要没落,但是,不要慌,做自己的计划,学自己的习,竞争无处不在,每个行业都是如此。相信自己,没有做不到的,只有想不到的。

虽然面试失败了,但我也不会放弃入职字节跳动的决心的!建议大家面试之前都要有充分的准备,顺顺利利的拿到自己心仪的offer。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

文件或目录

作用

META-INF/

也就是一个 manifest ,从 java jar 文件引入的描述包信息的目录

res/

资源文件目录

libs/

如果存在的话,存放的是 ndk 编出来的 so 库

AndroidManifest.xml

程序全局配置文件

classes.dex

  dalvik 字节码 

resources.ars

编译后的二进制资源文件

资源文件比较重要的如下, sdk 文档 ( 中文指南 ) 上有相关的详细介绍:

目录 Directory

资源类型 Resource Types

res/anim/

Define pre-determined animations.
Tween animations are saved in res/anim/ and accessed from the R.anim class.
Frame animations are saved in res/drawable/ and accessed from the R.drawable class.

定义的是预置的动画对象。一般是逐帧动画 (Frame animations) 或补间动画( Tween animations )。而实际使用上,都是一些淡入淡出、缩放和移动等的补间动画居多。

res/color

Define a color resources that changes based on the View state.
Saved in res/color/ and accessed from the R.color class

定义一些 android view 状态变化时,使用的颜色值。这通常是绑定到一个界面元素上的,比如一个 button 被按下,弹起或 disable 时的颜色。

res/drawable/

res/drawable-hdpi

res/drawable-land-hdpi

res/drawable/mdpi

res/drawable/ldpi

res/drawable/port

Define various graphics with bitmaps or XML.
Saved in res/drawable/ and accessed from the R.drawable class.

定义要被用到的位图资源文件。这些位图资源可以是 bitmap ,也可以是用 xml 描述的 bitmap 。

注意:文件后缀为 9.png 是一种特殊的位图,一般是通过 draw9patch 生成的,是一种可自动伸缩的位图资源。

Drawable 的其他目录形势, land 是横屏的, port 是竖屏的; hdpi 是高分辨率的, ldpi 是低分辨率的, hdpi 是高分辨率的。这里可以放置为特定情况下的界面优化资源。

res/layout/

Define the layout for your application UI.
Saved in res/layout/ and accessed from the R.layout class.

定义的 UI layout ,被 aapt parser 后,可由 android 直接 render 成 view 界面。

这里也有横竖屏和 dpi 之分。

res/values/

可以被编译成很多种类型的资源的 XML 文件。

注意 : 不像其他的 res/ 文件夹,它可以保存任意数量的文件,这些文件保存了要创建资源的描述,而不是资源本身。 XML 元素类型控制这些资源应该放在 R 类的什么地方。

尽管这个文件夹里的文件可以任意命名,不过下面使一些比较典型的文件(文件命名的惯例是将元素类型包含在该名称之中):

      array.xml 定义数组

     colors.xml 定义 color drawable 颜色的字符串值 (color string values) 。使用 Resource.getDrawable() 和 Resources.getColor() 分别获得这些资源。

     dimens.xml 定义 尺寸值 (dimension value) 。使用 Resources.getDimension() 获得这些资源。

      strings.xml 定义 字符串 (string) 值。使用 Resources.getString() 或者 Resources.getText() 获取这些资源。 getText() 会保留在 UI 字符串上应用的丰富的文本样式。

      styles.xml 定义 样式 (style) 对象。

多国语言,由 values-xxx 的后缀组成。比如简体中文 :res/values-zh-rCN

res/xml/

任意的 XML 文件,在运行时可以通过调用 Resources.getXML() 读取。

res/raw/

直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用 Resources.openRawResource() ,参数是资源的 ID ,即 R.raw.somefilename 。

Android 应用程序的生成过程,输入就是 eclipse 或源码中的工程及其下面的源文件;输出就是处理后的 apk 文件。整个过程可以如下图所示:

Android执行文件apk的组成结构

总结

算法知识点繁多,企业考察的题目千变万化,面对越来越近的“金九银十”,我给大家准备好了一套比较完善的学习方法,希望能帮助大家在有限的时间里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。

这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。

部分资料展示:




有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值