Android面试收集录 Android系统的资源+其他
1.Android应用程序的资源是如何存储的,如何使用?
- res文件夹或者assets文件夹
- res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResources().getString(R.string...)
- assets目录中的文件必须使用文件名方式,getResources().getAssets().open("test.png")
2.res和assets目录的区别?
- res目录中的子目录名字有限制,而assets目录没有要求
- 访问方式不同,一个需要R来访问,一个需要名字访问
3.有哪几种不同的手机密度?
- 240*320 ldpi
- 320*480 mdpi
- 480*800 hdpi
- 720*960 xhpi
- 1080*1920 xxhpi
- 2160*3840 xxxhpi
4.在字符串资源中是否可以有单引号?
- <string>"This'll work!"</string>
- 或<string>This\'ll also work!</string>
5.在字符串资源中可以使用哪几个标签?
- <b>粗体字
- <i>斜体字
- <u>带下划线的文字
6.请描述一下Nine-Patch格式图像资源有哪些功能?
- 防止图像的某一部分被拉伸
- 确定将图像作为背景图的控件中的内容显示的位置
7.如何实现多个图像的层叠显示?
- 法1:使用FrameLayout
- 法2:使用<layer-list>定义图层
8.图像状态资源如何使用?
- 首先在res/drawable目录中建立一个xml文件
- <item android:state_pressed=“true”>表示被按下
- <item android:state_focused="true">表示获取焦点的状态
- <item android:drawble="@drawble/...">正常状态
9.图像级别资源如何使用?
- 首先在res/drawable目录中放多个图像
- 然后再res/drawable目录中建立一个xml文件
- 然后使用<level-list>外层标签,<item android:drawable="@drawble/图像文件" android:minLevel="6" android:maxLevel="10"/>
- 例子,如一个开灯显示一张图,关灯显示一张图,则level可以作为触发点击事件的flag
10.请解释布局文件中使用的“@”,“+”,“?”的含义?
- @用于引用资源
- +,表示资源ID新建一个,以前不存在
- ?,表示引用当前主题中的属性
11.请阐述在Windows下如何搭建Android NDK开发环境?
- 安装Cygwin用于模拟Linux开发环境
- 指定Android NDK的位置
12.请描述如何使用传感器?
- 编写一个截获传感器事件的类。该类必须实现android.hareware.SensorEventListener接口
- 获得传感器管理对象(SensorManager对象)
- 使用SensorManager.registerListener方法注册指定的传感器
13.如何用GPS获取当前位置的经纬度?
- 首先获取LocationManager
- 使用Criteria类来获取最好的定位效果
- 使用locationManager来获取当前位置提供者
- 最后获取经纬度
14.如何获取系统已使用的内存?
- 获取系统内存总数:long total=Runtime.getRuntime().totalMemory();
- 获取剩余内存:long free=Runtime.getRuntime().freeMemory();
- 获取已使用的内存: long used=total-free;
15.如何使用traceview性能调优工具?
- 首先在SD卡根目录生成一个test.trace文件 Debug.startMethodTracing("文件名");
- 要跟踪的方法:testMethod();
- 停止跟踪:Debug.stopMethodTracing();
- 将文件名.trace负责到PC的某个地方,然后用控制台命令访问:如 traceview D:\test.trace
既然选择了,便不顾风雨兼程。Just follow yourself.