您所在位置: 网站首页 / Android面试大总结.doc / 文档详情
Android面试大总结.doc 立即下载
2024-12-17
约1.1万字
约18页
0
33KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

Android面试大总结.doc

Android面试大总结.doc

预览

免费试读已结束,剩余 13 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第页共NUMPAGES18页
Android面试大总结

1、View的刷新:在需要刷新的地方,使用handle(hande)、sendmessage(僧的嘛首去)
发送信息,然后在handle的getmessage里面执行inaliate(in耐需特)或者postinvaliate(破四特in耐需特)、2、GC内存泄露出现的情况可能有哪几种?1)、数据库的cursor(口所)没有关闭2)、构造adapter(额打不特)时,没有使用缓存contentview(坑拆次U)衍生listview的优化问题-----减少创建view的对象,充分使用contentview,可以使用一静态类来优化处理getview的过程/3)、Bitmap(B买谱)对象不使用时采用recycle()
[V赛可]释放内存4)、activity中的对象的生命周期大于activity调试方法:DDMS==>HEAPSZIE==>dataobject==>[TotalSize]
3、对activity的理解之一(简答:①Activity是用户操作程序的接口。实际上就是一个控件的容器,我们要把控件摆放在这个Activity中,来完成一个完整的功能。通常一个activity对应一个布局文件②Activity其实是Context的子类)在一个Activity正常启动的过程中,他们被调用的顺序是onCreate(可唉次)>onResume,在Activity被干掉的时候顺序是onPause>onDestroy,这样就是一个完整的生命周期、但是有人问了,程序正运行着呢来电话了,这个程序咋办?中止了呗,如果中止的时候新出的一个Activity是全屏的那么:onPause->onStop,恢复的时候onStart->onResume,如果打断这个应用程序的是一个Theme为Translucent或者Dialog的Activity那么只是onPause,恢复的时候onResume。onCreate:在这里创建界面,做一些数据的初始化工作;onStart:到这一步变成用户可见不可交互的;onResume:变成和用户可交互的,(在activity栈系统通过栈的方式管理这些个Activity的最上面,运行完弹出栈,则回到上一个Activity);onPause:
到这一步是可见但不可交互的,系统会停止动画等消耗CPU的事情从上文的描述已经知道,应该在这里保存你的一些数据,因为这个时候你的程序的优先级降低,有可能被系统收回。在这里保存的数据,应该在onResume里读出来,注意:这个方法里做的事情时间要短,因为下一个activity不会等到这个方法完成才启动;onstop:变得不可见,被下一个activity覆盖了;onDestroy:这是activity被干掉前最后一个被调用方法了,可能是外面类调用finish方法或者是系统为了节省空间将它暂时性的干掉,可以用isFinishing()来判断它,如果你有一个ProgressDialog在线程中转动,请在onDestroy里把他cancel掉,不然等线程结束的时候,调用Dialog的cancel方法会抛异常的。onPause,onstop,onDestroy,三种状态下activity都有可能被系统干掉为了保证程序的正确性,你要在onPause()里写上持久层操作的代码,将用户编辑的内容都保存到存储介质上(一般都是数据库)。实际工作中因为生命周期的变化而带来的问题也很多,比如你的应用程序起了新的线程在跑,这时候中断了,你还要去维护那个线程,是暂停还是杀掉还是数据回滚,是吧?因为Activity可能被杀掉,所以线程中使用的变量和一些界面元素就千万要注意了,一般我都是采用Android的消息机制
[Handler,Message]来处理多线程和界面交互的问题。
4、DDMS与TraceView的区别?DDMS是一个程序执行查看器,在里面你可以看见线程和堆栈等信息,TraceView是序性能分析器、5、activity被回收了怎么办?
答案:只有另起了!
6、在Java中如何引入C语言或者本地语言?可以用JNI接口。在JAVA中如果要调用C语言,需要将接口写成动态链接库的形式,然后在JAVA中调用、具体过程如下:首先在JAVA程序中写上要引用的动态链接库,如:static{System、loadLibrary("test");}//动态链接库为test、dll在程序中要声明本地方法,如:publicnativevoiddisplay(Stringname);然后对此JAVA程序编译,如:javacHelloWorld、java成功后再用如下命令生成对C语言的、h文件:javahotest、hHelloWorld打开生成的test、h文件
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

Android面试大总结

文档大小:33KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用