快捷搜索:  汽车  科技

android面试145题详解(Android面试相关-基础知识)

android面试145题详解(Android面试相关-基础知识)-FragemntPageAdapter 适用于页面较少的情况-FragemntStatePageAdapter 适用于页面较多的情况 使用过程中会释放内存onAttach() 在fragment与Activity关联之后调调查用 onfragment初次创建时调用。尽管它看起来像是Activity的OnCreate()函数,但这个只是用来创建Fragment的。此时的Activity还没有创建完成 onCreateView() 在这个fragment构造它的用户接口视图(即布局)时调用 onActivityCreate() 在Activity的OnCreate()结束后 onStart() 当到OnStart()时,Fragment对用户就是可见的了。但用户还未开始与Fragment交互 onResume() 当这个fragment对用户可见并且正在运行时调用。这是

Android面试-Activity相关

Android看到的窗口就是Activity1、activity生命周期

** 四种状态 **

-running 运行中 栈顶 -paused 不可见,透明Activity也能档住 -stopped 停止,内存紧张 -killed 被杀 ,被内存回收

** 生命周期**

onCreate() onStart() onResume() onPause() onStop onRstart() onDestroy() -启动时会走,onCreate > onStart() > onResume() -不可见, onPause() -返回主界面 onPause() > onStop() -再次回到界面 onRestart() > onStart() > onResume() -退出当前Activty onPause() > onStop > onDestory() 进程优先级 -前台 -可见(不能被点击) -服务 (绑定Service) -后台 (按home返回主界面) -空 优先级最低,随时会被回收2、android任务栈

任务栈:先进后出3、activity启动模式

-standard (标准) 每次都会创建 -singletop(栈顶模式) 如果栈顶存在某个Activity就不会再创建 -singletask(单栈) 每个栈里只会有一次,单例模式,如果是新栈那就会重新创建 -singleinstance(单例模式) 程序只会创建一个4、scheme跳转协议

android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中各个页面;通过scheme协议,服务器可以定制化告诉App跳转哪页面,也可以通过通短栏定制提提跳转页面,可以通过H5页面跳转页面。 <data android:scheme="scheme" android:host="mtime" android:path="/goodsDetail" />


Android面试-Fragment相关1、Fragment为什么被称为每五大组件?

使用頻率非常高,非常灵活,使用方式通常是 Activity Fragment ;Activity Viewpage Fragment **Fragemnt加载到Activity的两种方式** -添加Fragment到Activity的布局文件当中 -动态在Activity中添加fragment 创建FragemntManager; 开启tranaction; 然后commit();

** FragemntPageAdapter和FragemntStatePageAdapter的区别**

viewpager 内存消耗方面有区别

-FragemntPageAdapter 适用于页面较少的情况

-FragemntStatePageAdapter 适用于页面较多的情况 使用过程中会释放内存

2、Fragment的生命周期

onAttach() 在fragment与Activity关联之后调调查用 onfragment初次创建时调用。尽管它看起来像是Activity的OnCreate()函数,但这个只是用来创建Fragment的。此时的Activity还没有创建完成 onCreateView() 在这个fragment构造它的用户接口视图(即布局)时调用 onActivityCreate() 在Activity的OnCreate()结束后 onStart() 当到OnStart()时,Fragment对用户就是可见的了。但用户还未开始与Fragment交互 onResume() 当这个fragment对用户可见并且正在运行时调用。这是Fragment与用户交互之前的最后一个回调 onPause() 此回调与Activity的OnPause()相绑定,与Activity的OnPause()意义一样 onStop() 这个回调与Activity的OnStop()相绑定,意义一样。已停止的Fragment可以直接返回到OnStart()回调,然后调用OnResume() onDestoryView() onDestroy() 当这个fragment不再使用时调用。需要注意的是,它即使经过了onDestroy()阶段 onDetach() Fragment生命周期中最后一个回调是onDetach()3、Fragment之间的通信

-在Fragment中调用Activity中的方法 getActity() -在Activity中调用Fragemnt中的方法 接口调用 -在Fragment中调用Fragment中的方法 findFragmentById 获取Activity中相应的Fragemnt4、Fragment管理器:FragmentManager

-replace 替换 -add 添加 -remove 移除


Android面试-Service相关1、service的应用场景,以入和Thread区别

** service是什么**

Service(服务) 是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件 四大组件之一,可以用来执行长时间运行,也可以在界面退出后也能运行。 可以由其他组件来启动 可以和Activity进行绑定 运行在主线程,所以不能执行耗时操作 **service和Thread区别** -service运行在主线程、Thread运行在自己的线程 -两者没有任何关系2、开启service的两种方以及区别

**startservice** -定义一个类继成Sercie -在Mainfest.xml文件中配转置 -使用Context中的startService(Intent)方法启动Serice -不再使用时,调用stopService(Intent)方法停止该服务 常用方法 onBind() onCreate() onStartCommand() onDestroy() **bindService** Activity和Service服务进行绑定(可以和多个Activity绑定) -创建BindService服务端,继成自Service并在类中,创建实现IBinder接口的实例对象并提供公共方法给客户端调用。 -从onBind()回调方法返回Binder实例 -在客户端中,从onService Connected()回调方法接收Binder,并使用提供的方法调用绑定服务


Android面试-Broadcast Receiver相关1、广播

**广播的定义** 在Androdi Broadcast用一种方泛运用在应用程序之间传输信息的机制,Android我们要发送的广播内容是一个Intent 这个Intent中可以携带我们要传送的数据 **场景** -相同app内传输数据 -不同app内传输数据 **种类** -系统广播 -自定义广播2、实现广播 -Receiver

1、静态注册,在Mainfa 2、动态注册,跟随Activity的生命周期,在Activity中onDestory() 也要onDestory广播3、广播实现机制

-自定义广播接收者BroadcastReceiver 痢复写onRecvice()方法 -通过Binder机制向AMS(Activity Manager Service)进行注册 -广播发送者通过Binder机器向AMS发送广播 -AMS查找到符合相应条件的(IntentFilter/Permission) 的BroadcastReceive 将广播发送到BroadcastReceiver(一般情况下是Activity) 相应的消息循环队列中; -消循环执行拿到此广播,回调BroadcastReceiver中的onReciver()方法

android面试145题详解(Android面试相关-基础知识)(1)

猜您喜欢: