六、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面试题之二的更多相关文章
-
【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的
===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...
-
Android面试题整理【转载】
面试宝典(5) http://www.apkbus.com/android-115989-1-1.html 面试的几个回答技巧 http://blog.sina.com.cn/s/blog_ad ...
-
19、android面试题整理(自己给自己充充电吧)
(转载,出处丢失,请原作者原谅,如有意见,私信我我会尽快删除本文) JAVA 1.GC是什么? 为什么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问 ...
-
Android面试题(文章内容来自他人博客)
腾讯面试题 1.int a = 1; int result = a+++3<<2; 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); ...
-
android面试题集1
Android 面试题(有详细答案) 附带答案,共100分 一.选择题(30题,每题1.5分,共45分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功 ...
-
Android面试题收集(有具体答案)
Android面试题目及其答案 1.Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每个Android应用程序都在它自己的进程中执行,都 ...
-
android面试题总结加强再加强版(一)
在加强版的基础上又再加强的android应用面试题集 有些补充略显臃肿,只为学习 1.activity的生命周期. 方法 描述 可被杀死 下一个 onCreate() 在activity第一次被创建的 ...
-
[干货]2017已来,最全面试总结——这些Android面试题你一定需要
地址.http://blog.csdn.net/xhmj12/article/details/54730883 相关阅读: 吊炸天!74款APP完整源码! [干货精品,值得收藏]超全的一线互联 ...
-
2017年最全的30个Android面试题,你将如何回答?
百度首页 登录 2017年最全的30个Android面试题,你将如何回答? 机翼技术 百家号 03-10 02:32 “三金四银”又是一年一度的跳槽季,相信有不少Android程序员开始摩拳擦掌蠢蠢欲 ...
随机推荐
-
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error(Sqlite code 14): Could not open database,(OS error - 13:Permission denied)
07-24 15:03:14.490 6291-6291/com.tongyan.nanjing.subway E/SQLiteDatabase: Failed to open database '/ ...
-
如何加密android apk
经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法.前两篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blo ...
-
QLinkedList和std::forward_list
forward_list forward_list是C++11版本才有的.forward_list被实现为单链表,而list是一个双向链表,所以forward_list要比list高效一些.forwa ...
-
[COGS 1799][国家集训队2012]tree(伍一鸣)
Description 一棵n个点的树,每个点的初始权值为1.对于这棵树有q个操作,每个操作为以下四种操作之一: + u v c:将u到v的路径上的点的权值都加上自然数c: - u1 v1 u2 v2 ...
-
Python学习第二节——基础知识
# !/usr/bin/edv python 脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它.# -*- coding:UTF-8 -*- 标明编码注释 ...
-
【Python】hasattr() getattr() setattr() 使用方法详解
本文转自 https://www.cnblogs.com/cenyu/p/5713686.html hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回B ...
-
(转)查询或修改iPhone的短信服务中心号码(iOS通用)
有些时候会有提示你自己的iPhone无法发送短信,原因是没有设置短信中心号码,下面就介绍一下如何设置iPhone的短信中心号码和iPhone查看短信中心号码的方法.(iOS通用) iPhone的设置短 ...
-
【LCA+MST】BZOJ3732-Network
[题目大意] 给你N个点的无向图 (1 <= N <= 15,000),记为:1…N.图中有M条边 (1<=M<=30,000) ,第j条边的长度:d_j (1<=d_j ...
-
多个Tomcat之间实现Session共享
对于高访问量.高并发量的网站或web应用来说,目前最常见的解决方案应该就是利用负载均衡进行server集群,例如比较流行的nginx+memcache+tomcat.集群之后比如我们有N个Tomcat ...
-
dubbo 实战总结
1,出现重复调用.因为有重试机制,可以改为异步调用或者幂等操作.