一、请用伪代码描述,在Android系统上启动和停止Service有哪些方法,并说明这些方法导致Service的生命周期有何不同?
二、输入一个正整数 X,以2*X,4*X,8*X的方式递增,当大于10000时,再倒叙输出已经输出的整数。【要求:不得使用循环和其他任何变量(包含局部变量)辅助】
比如 X= 2468,输出结果为:
2468,4936,9872,19744,19744,9872,4936,2468
三、有两个字符串由不同的字母组成,一长一短,长的为A,短的为B。设计一个算法,如果所有在B中出现的字符都在A中出现,则返回true,否则返回false。假设A的长度为m,B的长度为n,要求算法时间复杂度不能大于O(m+n)。
四、实现如下工作者类IKWorker,调用者通过调用AddJob将Runnable类型的job提交给IKWorker,IKWorker负责异步执行所有提交过来的job。【要求:尽量高效,不得使用系统的线程池】
public interface IKWorker{
public boolean Start();
public void AddJob(Runnable job);
public boolean Stop();
}
五、在Android手机中实现一个App,用来做文件下载,可在App界面新增,暂停和取消下载文件及展示下载过程中的进度,同时要保证Activity退出时后台仍然能再下载。当界面启动时还可以显示正在下载的文件及进度。【要求:写出实现此App的设计思想,尽量易懂,简洁】
六、系统/sdcard/目录下有很多张图片,现需要一activity通过缩略图的方式浏览所有图片,在设计中体现对一下三点的处理:
A.不能分页显示,所有图片显示在一页
B.要体现对ANR的处理
C.要体现对OOM的处理
请写出此Activity的设计思路
七、在Android中两个进程之间传输大数据,可以使用什么方式实现?这些方式中哪种方式最高效?说明原因。