android基础面试
来源:互联网 发布:张家庄隧道 知乎 编辑:程序博客网 时间:2024/04/20 01:23
Activity启动:onCreate(),onStart(),onResume()
点击home键回主界面:onPause(),onStop()
返回Activity:onRestart(),onStart(),onResume()
退出Activity:onPause(),onStop(),onDestroy()
activity的优先级:前台、可见、服务、后台、空
2.Activity启动模式
standard 默认,可多个叠加实例
singleTop 当相同实例在栈顶,可直接调用,无需重新创建
singleTask 在栈中找,如果有相同实例则直接调用并且把这个之上的全部destroy掉
singleInstance 如果应用1的任务栈中创建了MainActivity实例,如果应用2也要激活MainActivity,则不需要创建,两应用共享该Activity实例
3.fragmentPagerAdapter和FragmentStatePagerAdapter区别?
fragmentPagerAdapter是在页面较少的情况下使用,fragmentStatePagerAdapter切换viewpager时会回收内存,在页面较多的情况下更耗内存所以才使用。
4.fragment动态添加到Activity
FragmentManager fragmentManager = getSupportFragmentManager(); //导V4包
FragmentTransaction transaction= fragmentManager.beginTransaction();
ContentFragment mContentFragment = (ContentFragment) fm.findFragmentById(R.id.id_fragment_container);
mContentFragment = new ContentFragment();
transaction.add(R.id.id_fragment_container,mContentFragment);
transaction.commit();
5.在activity里调用fragment的方法和fragment传值给activity?
fragment创建一个接口和一个接口回调的方法,接口里定义的方法传参给activity
activity实现接口的方法
举例:老板分派给员工做事,员工做完事情后需要给老板回复,老板对其做出反应(接口回调)
6.fragment的通讯方式?
在fragment里调用activity的方法是getActivity
在activity里调用fragment的方法是接口回调
在fragment里调用fragment的方法是findFragmentById()
7.Service(不可以进行耗时操作)
Service是一个可以长时间运行在后台,没有用户界面的应用组件。
8.Broadcast种类
Normal Broadcast(普通广播):context.sendBroadcast
System Broadcast(有序广播):context.sendOrderedBroadcast
Local Broadcast(本地广播):只在APP内部传播
9.实现广播的方式:
静态注册:在manifest注册一下就好了
动态注册:在代码中实现,跟随activity的生命周期
区别:动态注册是在代码中实现,静态注册是在manifest注册;
activity销毁了,动态注册的broadcast也就失效了,但是静态注册不会。
10.handler是通过发送和处理Message和Runnable对象来关联相对应线程的MessageQueen。
防止handler内存泄漏:
1.使用静态的handler;
2.在onDestroy()里调用handler.removeCallbacksAndMessages(null
3.handler内部持有外部Activity的弱引用WeakHandler
11.创建IntentService时,只需要实现构造方法和onHandleIntent(),onHandleIntent为异步方法,可以进行耗时操作。
12.View
invalidate和requeatLayout都是重新绘制View的过程,这两个的区别?
invalidate()会重新绘制ondraw(),requestLayout()是重新执行onMeasure()和onLayout(),不会执行onDraw().
13.总结出Androd应用的构建过程大致如下:
1、生成R.java类文件
2、将.aidl文件转换成.java类文件
3、编译.java类文件生成class文件
4、将class文件打包生成classes.dex文件
5、通过build打包资源文件(包括res、assets、AndroidManifest.xml等)
6、生成debug模式或者release模式签名的apk文件
7、对apk文件进行对齐处理,这样可以让apk包减少内存
- Android面试基础
- android面试基础总结
- android面试基础总结
- android面试基础总结
- android面试基础总结
- android面试基础
- Android基础面试问题
- Android 面试 基础
- Android面试基础
- Android面试基础
- Android 面试基础
- 学习Android,面试基础
- Android面试基础题
- android基础面试
- android面试基础收集
- Android 面试基础
- android----面试基础概括总结
- Android程序员面试Java基础
- Sublime Text3 汉化教程
- Android消息处理机制(Handler、Looper、MessageQueue与Message)
- PAT 1129. Recommendation System (25) 优先队列--维持前k个最大堆
- 做IT的,不管你是运维、开发或架构师,这些安全知识你不得不懂
- grub中为加载模块申请memory的初始化
- android基础面试
- bzoj1123 [POI2008]BLO(tarjan求割点)
- android WIFI 设置代理代码 4.4.3——5.0
- EL表达式简介
- 一些webrtc gcc相关
- android studio设置无标题(NoTitle)方法
- 入门赛9
- (六)jQuery ajax
- Nan in summary histogram