六、android 中的动画有哪几种,它们的特点和区别是什么 ?

逐帧动画和补间动画。

逐帧动画:是传统的动画播放方式,指定每一帧的内容和停留时间,然后顺序地播放排列好的图片,类似电影。

补间动画:给出两个关键帧(初和末)和变化时间、方式,通过一些算法对View的内容在规定的时间内完成一系列的图形变换。主要包括四种效果:Alpha、Scale、Translate和Rotate。

所以,补间动画常用来播放一些有规律的动画,而逐帧动画则不一定。

七、请介绍下 Android 中常用的五种布局

1.FrameLayout(帧布局)

特点:组件都是从左上角开始放置,后面的会覆盖前面的组件,就像往墙角堆砌东西一样。布局比较简单,只能放一点比较简单的东西。

2.LinearLayout(线性布局)

特点:最常用的布局。分为垂直布局和水平布局。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下排列;水平布局时,只有一行,每一个元素依次向右排列。

3.AbsoluteLayout(绝对布局)

特点:就是用X,Y坐标来指定组件的位置,这种布局适应性太差,很少使用。

4.RelativeLayout(相对布局)

特点:一种非常常用的布局。相对布局是一种以某一个元素为参照物,来确定其他组件位置的布局方式。包括以某一组件为参照物和以父容器为参照物两种情况。

5.TableLayout(表格布局)

特点:类似Html里面的Table。用TableRow来代表表格布局中的每一行,在里面去定义每一行的元素内容和对齐方式。

这几种布局都有自己的特点,在实际应用中,常常相互嵌套,结合使用,才能做出漂亮的界面。

八、如何启用Service ,如何停用Service

启动方式有两种:startService(),bindService().它们都是Context的方法。

区别:使用startService()方法启用服务,调用者与服务之间没有关连, 即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止.

停用:采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务。

采用bindService()方法启动的服务,调用者和服务绑定在了一起。若调用者退出,系统会调用onUnbind()方法解除绑定,然后调用onDestroy()方法。当然,开发者也可以自己调用Context.unbindService()方法手动解除绑定。接着,系统也会调用服务的onUnbind()-->onDestroy()方法。

九、注册广播有几种方式,这些方式有何优缺点?

注册方式有两种:一是在代码中动态注册:registerReceiver(receiver,filter);

二是在AndroidManifest中配置。

区别
1)第一种不是常驻型广播,也就是说广播跟随程序的生命周期。
2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。

注:当需要通过广播更新UI时,一般采用动态注册的方式,启动Activity时候注册BroadcastReceiver,Activity不可见时候,取消注册。

在AndroidManifest配置还有一个缺点:由于它一直处于活动状态,cpu和电源资源耗费比较大。

十、什么是ANR 如何避免它?

ANR:Application Not Responding。

产生原因:在Android中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应,当用户的操作在5s内应用程序没能做出反应,BroadcastReceiver在10秒内没有执行完毕,就会出现应用程序无响应对话框,这就是ANR。

解决方式:Activity应该在它的关键生命周期方法里尽可能少的去做创建操作、潜在的耗时操作(网络或数据库操作等),或者高耗时的计算操作(改变位图尺寸等),而应该在子线程里(或者异步方式)来完成。主线程应该为子线程提供一个Handler,以便子线程完成时能够提交给主线程。

android面试题之二的更多相关文章

  1. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的

    ===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...

  2. Android面试题整理【转载】

      面试宝典(5)  http://www.apkbus.com/android-115989-1-1.html 面试的几个回答技巧 http://blog.sina.com.cn/s/blog_ad ...

  3. 19、android面试题整理(自己给自己充充电吧)

    (转载,出处丢失,请原作者原谅,如有意见,私信我我会尽快删除本文) JAVA 1.GC是什么? 为什么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问 ...

  4. Android面试题(文章内容来自他人博客)

    腾讯面试题 1.int a = 1; int result = a+++3<<2; 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); ...

  5. android面试题集1

    Android 面试题(有详细答案) 附带答案,共100分 一.选择题(30题,每题1.5分,共45分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功 ...

  6. Android面试题收集(有具体答案)

    Android面试题目及其答案 1.Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每个Android应用程序都在它自己的进程中执行,都 ...

  7. android面试题总结加强再加强版(一)

    在加强版的基础上又再加强的android应用面试题集 有些补充略显臃肿,只为学习 1.activity的生命周期. 方法 描述 可被杀死 下一个 onCreate() 在activity第一次被创建的 ...

  8. [干货]2017已来,最全面试总结——这些Android面试题你一定需要

        地址.http://blog.csdn.net/xhmj12/article/details/54730883 相关阅读: 吊炸天!74款APP完整源码! [干货精品,值得收藏]超全的一线互联 ...

  9. 2017年最全的30个Android面试题,你将如何回答?

    百度首页 登录 2017年最全的30个Android面试题,你将如何回答? 机翼技术 百家号 03-10 02:32 “三金四银”又是一年一度的跳槽季,相信有不少Android程序员开始摩拳擦掌蠢蠢欲 ...

随机推荐

  1. css3的一些属性

    以前还没有注意过css的一些属性,近期发现有一些样式很好用,现在整理一遍. CSS3 动画属性 @keyframes : 规定动画 可以通过keyframes 改变一个块的样式当然这是要配合anima ...

  2. zoj 1366 Cash Machine

    01背包加变形 动态规划的时候就犯浑了,每个状态都要记录的,我却只记录了当前状态的!! #include<stdio.h> #include<string.h> int max ...

  3. untiy 播放视频

    利用 MovieTexture 类 放入视频 视频不能使flv的 建立一个平面 作为屏幕,利用Material 播放动画,剩下的就是将平面放大和屏幕一样/ public MovieTexture My ...

  4. ADO接口

    转自百度文库 ADO中最重要的对象有三个:Connection.Recordset和Command,分别表示连接对象.记录集对象和命令对象. 三个对象对应的智能指针分别是:_ConnectionPtr ...

  5. c#计算文件的MD5值

    代码: /// <summary> /// 计算文件的 MD5 值 /// </summary> /// <param name="fileName" ...

  6. python mysql多条插入

    程序的目的是把文本里面的数据存储到数据库中,原来的思路是读一条,插入一条,结果就是时间长的不得了...18万条的数据,真是慢. 后来的想法是把所有的记录都读到一个list里,结果是mysql奔溃go ...

  7. 射频识别技术漫谈(11)——Mifare系列卡的共性

    Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包Mifare S50.Mifare S70.Mifare UltraLight.Mifare Pro.Mifare Desfi ...

  8. spring boot 下 500 404 错误页面处理

    spring boot 作为微服务的便捷框架,在错误页面处理上也有一些新的处理,不同于之前的spring mvc 500的页面处理是比较简单的,用java config或者xml的形式,定义如下的be ...

  9. MVC模式已死

    MVC模式:Model模型 View试图 Control控制器,是目前主流模式,被当作服务器软件入门基本模式学习和掌握,主流框架Struts 1/2 JSF Wicket基本都顺理成章支持MVC模式. ...

  10. perl5 第七章 控制结构

    第七章 控制结构 by flamephoenix 一.条件判断二.循环:  1.while循环   2.until循环   3.for循环   4.针对列表(数组)每个元素的foreach循环  5. ...