Android面试
文章平均质量分 67
小地盘
这个作者很懒,什么都没留下…
展开
-
Android面试题[转]
一、Activity、Service、BroadcastReceiver的作用1. Activity是android四大组件中最基本的组件,是程序与用户交互的窗口,代表一个用户所能看到的屏幕,它具有自己的生命周期,由系统控制。它可以用来显示控件、监听系统事件(按键事件、触摸屏事件等)、为保持各界面的状态做很多持久化的事情。2. 一个Service 是一段长生命周期的,没有用户界面的程序,可转载 2014-11-14 10:58:20 · 1348 阅读 · 0 评论 -
互联网公司Android客户端面试 知识点
Android内存回收机制、DVM和JVM区别、DVM内存分配OOM,如何解决OOMActivity4种launch mode、Activity怎么启动EventBus网络如何异步加载Cache缓存机制Universal-Image-Loader开源框架的实现原理Java、Android线程池,如何自定义线程池Android定时器的实现代码实现判断手机有无内存卡StackOverflow原创 2015-04-26 21:37:44 · 938 阅读 · 0 评论 -
Fragment生命周期
官方文档中有详细的文字说明,不过最好还是实践下,熟悉过程。http://developer.android.com/guide/components/fragments.html一、Activity的生命周期图:二、Fragment生命周期图三、对比图场景演示 : 切换到该Fragment11-29 14:26:35.095: D/A原创 2015-03-18 20:51:24 · 1895 阅读 · 0 评论 -
Android为什么要用xml描述界面
XML可以使程序的内容和结构完全分离,可以实现内容管理和流程管理的彻底分离,降低开发耦合度,更便于项目的管理。而且XML具有统一的标准语法,任何系统和产品所支持的XML文档,都具有统一的格式和语法,有利于跨平台移植,可扩展性强。用Swing这样的模式, 耦合度高,相比XML维护成本会更高xml是通用的国际标准(如果你可以创造出这样的标准也行),,现在几乎所有的计算机语言都会用到xml,原创 2015-03-10 10:18:33 · 3430 阅读 · 0 评论 -
android中的进程与线程的理解
一个android应用就是一个Linux进程,每个应用在各自的进程中运行,互不干扰,比较安全。一个应用对应一个主线程,就是通常所说的UI线程,android遵守的就是单线程模型,所以说Ui操作不是线程安全的。CalledFromWrongThreadException通常就是在非主线程中刷新UI引起的。在单线程的模型下,一些耗时的操作就要交给其它子线程去执行。于是就有了Message Qu转载 2015-03-18 19:09:02 · 678 阅读 · 0 评论 -
Activity生命周期
我们来看一下这一张经典的生命周期流程图:相信不少朋友也已经看过这个流程图了,也基本了解了Activity生命周期的几个过程,我们就来说一说这几个过程。1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPaus转载 2015-03-12 16:11:09 · 668 阅读 · 0 评论 -
Activity的四种launchMode
我们今天要讲的是Activity的四种launchMode。launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建转载 2015-03-12 16:01:43 · 575 阅读 · 0 评论 -
android onSaveInstanceState方法
1.onSaveInstanceState和onRestoreInstanceState基本作用 onSaveInstanceState是用来保存UI状态的,你可以使用它保存你所想保存的东西,在Activity杀死之前,它一般在onStop或者onPause之前触发,onRestoreInstanceState则是在onResume之前触发回复状态,至于复写这个方法后onCreate方法是转载 2015-03-18 13:10:07 · 889 阅读 · 0 评论 -
Android中invalidate()和postInvalidate() 的区别
Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 invalidate()是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。invalidate()的转载 2015-03-31 15:01:37 · 642 阅读 · 0 评论 -
Android 面试宝典
转载:http://blog.csdn.net/superjunjin/article/category/1192401Android面试题1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、 内存回收程序负责释放无用内存 C、 内存回收程序允许程序员直接释放内存 D、 内存回收程序可以在指定的时间释放转载 2015-03-25 14:30:26 · 1987 阅读 · 0 评论 -
AsyncTask和Handler 比较
AsyncTask实现的原理和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 优点: 1.简单,快捷 2.过程可控 缺点: 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来.Handler异步实现的原理转载 2015-08-21 10:38:05 · 764 阅读 · 0 评论