2024年4月11日发(作者:)

android面试题(6)

找到对应的浏览器的意图,传递数据URI , 激活这个意图

Intent intent = new Intent();

ssName(packageName, className);

a(uri);

33. 对android主线程的运用和理解。

主ui线程不能执行耗时的操作,

34. 对android虚拟机的理解,包括内存管理机制垃圾回收机制。

虚拟机很小,空间很小,谈谈移动设备的虚拟机的大小限制 16M ,

谈谈加载图片的时候怎么处理大图片的,

垃圾回收,没有引用的对象,在某个时刻会被系统gc掉.

(); 不是立刻去执行垃圾回收.

手机电视. 视频点播. Onstop() 通知gc();

别的界面图片 白板.

遇到一个不可复现的bug, 不解决 won't fix

35. Framework工作方式及原理,Activity是如何生成一个view

的,机制是什么。

反射 , 配置文件

可以讲下activity的源码,比如说 每个activity里面都有

ck和ck,一些回调的接口或者函数吧.

框架把activity创建出来就会调用里面的这些回调方法,会调用activity

生命周期相关的方法.

setContentView();

普通的情况:

Activity创建一个view是通过 ondraw 画出来的, 画这个view之

前呢,还会调用onmeasure方法来计算显示的大小.

Surfaceview 直接操作硬件 opengl .

图像要想被显示到界面上, 需要设备显卡, 显存.

写到显存.

36. android本身的一些限制,比如apk包大小限制,读取大文件

时的时间限。

这个问题问的有问题, apk包大小限制不好说,

极品飞车有100M 还是能装到手机上,

世面google market 上大程序 主程序 很小 5~10M 下载sdcard

15分钟之内 申请退款

apk包,精简包, 素材存放在服务器. 游戏程序.

读大文件的时间限制应该是main线程里面的时间限制吧.5秒.

37. 如何加载的音乐信息,如何改善其效率。

Android提供mediascanner,mediaStore等接口, 音乐文件的信

息都会存放到系统的数据库表中,可以通过content provider获取,

显示出来,改善效率,是个常见问题, 可以从以下几个方面作答,

分批加载数据, 延时加载数据, 合理使用缓存等...

Java虚拟机, 目标, 加快java程序执行速度

预先加载一些 都会的使用的大的class的字节码, 提前加载.

时间换时间

空间换时间

38. ListView如何提高其效率?

复用convertview , 历史的view对象

异步加载数据, 分页加载数据, onscallLinster();

Static class ViewHolder

使用静态的view对象 避免创建过多的view.

把下载后的数据缓存到数据库里

客户端和服务器 协同 作战 .

Http 请求

If-modify-since : 检查数据是否更新 2001年 302 拿缓存

39. 启动应用后,改变系统语言,应用的语言会改变么?

40. 启动一个程序,可以主界面点击图标进入,也可以从一个程序

中跳转过去,二者有什么区别?