EasyDemo*android常见面试题(个人总结)

1自定义控件

1>组合原生控件

     将自己需要的控件组合起来变成一个新控件

     View_top.xml àTopView extends RelativeLayout à在主布局中引      用TopView类的包路径 à在主activity中操作topView控件

   2>自己绘制

     Layout用来确定View在父容器中放置的位置

     onDraw()用来将View绘制在屏幕上

     onMeasure()用来测量View的宽和高

     CustomView extends View à复写onDraw() à在主布局中引用           CustomView类的包路径

   3>继承原生控件

     myEditText extends EditText() à在主布局中引用myEditText类的包路径

2.ArrayList&&LinkedList

  ArrayList内部为数组结构,查询快,插入慢.从数组中删除或插入,需要移动后段的数组元素,进而会重新调整索引顺序,因为比较耗时

  LinkedList内部为链表结构,查询慢,插入快.从链表中删除或插入,只需改变引用即可,因此比较省时

3.android里activity的几种启动模式&&区别

  Standard(默认)&&SingleTop&&SingleTask&&SingleInstance

  Standard:默认的启动模式

  SingleTop:需要创建的activity已经处于任务栈时,复用此activity

  SingleTask:需要创建的activity已经处于任务栈时,弹出此activity上的其他activity,让其处于栈顶

  SingleInstance:全局单例模式,只要整个系统中创建过此activity的实例,不再创建

4.ActivityA(start)<->ActivityB(back)经历的生命周期,最后什么状态?

  A(start) – onResume()

  B(back) – onCreated() – onStart() – onResume() – onPause() – onStop() -- onDestory()

5.activity之间数据传输的方式

  Intent(内部)&&实现接口(外部)

  内部:

AàIntent() 跳转àintent.putExtras(key,value)携带数据à开启跳转àBà获取intent对象Intent intent = getIntent()à通过intent对象的getExtras()获取得到数据赋值给bundle对象à通过bundle.getString()获取到A传递过来的数据

  外部:

实现Parcelable(android)接口&&Serializable接口(java.io)

  6.线性布局与相对布局在性能上有什么区别

  EclipseàLinearLayout(默认)   android studioàRelativeLayout(默认)

  RelativeLayout在性能上优于LinearLayout原因:

  Google的选择,因为在ListView等控件中,使用LinearLayout容易产生多层嵌套的布局结构,在性能上是不好的,而RelativeLayout在使用上比较灵活,通常情况下其层级结构比较扁平,减少多层嵌套的布局结构

7.单线程模型Message、Handler、Message Queue、Looper间关系

   Handler获取当前线程中的Looper对象,Looper用来将Message Queue中的Message取出,再由Handler对Message进行分发和处理

8.改变UI主线程的几种方式(线程间通信的方式)

  Handler&&AsyncTask&&Activity.runOnUiThread()

9.android数据存储的方式

  SharePreferences&&SQLite存储&& File存储

  SharePreferences:

           是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息

           实现SharePreferences存储步骤如下:

           sp =con.getSharePreferences.edit().put(key,value).commit()

SQLite存储:

           实现SQLite存储步骤如下:

           1.继承SQLiteOpenHelper,实现构造函数&&onCreate()&&onUpgrage()三个方法

10.android几种动画间区别

  补帧&&补间&&属性

  补帧动画:

           通过顺序的播放已排列好的图片(一张张图片不断的切换,形成的动画效果)

  补间动画:

           原形态变成新形态时为了过渡变形过程,生成的动画就叫做补间动画

           主要scale(缩放)、alpha(透明)、Translate(位移)、        Rotate(旋转)四种效果

           只是在视图层发生变化,View未发生变化

  属性动画:

           不停的调用View的setTranslationY方法实现延Y轴平移

           api11以上,Android4.0引入的新动画

           View发生变化

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值