第3章 Android基础相关面试题

Posted zhaojianhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第3章 Android基础相关面试题相关的知识,希望对你有一定的参考价值。

1、Activity问题讲解

  a)  Activity的生命周期

    1.Activity的4种状态

      running  /  paused  /   stopped  /  killed

      running:activity处于活动状态,用户可以点击屏幕,屏幕做出响应,此时该activity处于栈顶

      paused:activity失去焦点,用户不能点击,或者被一个非全屏activity占据、透明界面放入栈顶

      stopped:当该activity被完全覆盖

      killed:被android系统回收

    2.Activity的生命周期

      Activity启动->onCreate()->onStart()->onReasume()

        点击Home键回到主界面(Activity不可见)->onPause()->onStop()

        当我们再次回到原activity时->onRestart()->onStart()->onReasume()

                    退出当前activity时->onPause()->onStop()->onDestroy()

     3.Android进程优先级

      前台进程:正在前台和用户交互的activity或者是和前台activity绑定的service
      可见进程:处于前台但是用户不能点击
      服务进程:在后台开启一个服务
      后台进程:前台进程点击hone键后就变成了后台进程
      空进程:不属于前面四种进程,android系统随时可以杀掉

  b)  Android的任务栈

      技术分享图片

 

  c)   Activity启动模式

      standard 标准模式:默认的启动模式
      singleTop 栈顶复用模式:须要创建的Activity已经处于栈顶时,此时会直接复用栈顶的Activity。不会再创建新的Activity;若须要创建的Activity不处于栈顶,此时会又一次创建一个新的Activity入栈,同Standard模式一样
      singleTask 栈内复用模式:若须要创建的Activity已经处于栈中时,此时不会创建新的Activity,而是将存在栈中的Activity上面的其他Activity所有销毁,使它成为栈顶。
      singleInstance 单实例模式:SingleInstance比較特殊,是全局单例模式,是一种加强的SingleTask模式。它除了具有它所有特性外,还加强了一点:具有此模式的Activity仅仅能单独位于一个任务栈中。

   d)   Scheme跳转协议

     Android中的Scheme是一种页面内跳转协议,通过自定义Scheme协议,可以跳转到app中的任何页面。

      服务器可以定制化跳转app页面
      app可以通过Scheme跳转到另一个app页面
      可以通过h5页面跳转app原生页面
     协议格式
      Uri.parse("qh://test:8080/goods?goodsId=8897&name=fuck")
      qh代表Scheme协议名称
      test代表Scheme作用的地址域
      8080代表改路径的端口号
      /goods代表的是指定页面(路径)
      goodsId和name代表传递的两个参数

     Scheme使用

      http://blog.csdn.net/lishuiyuntian/article/details/77477756

2、Fragment问题讲解

  a) Fragment为什么会被称为第五大组件

  b)   Fragment加载到Activity中的两种方式

    1.静态加载

     xml方式

    2.动态加载

     FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.collapseActionView,new Fragment());
        fragmentTransaction.commit();

 

      c)   FragmentPageAdapter与FragmentStatePageAdapter区别
    FragmentPageAdapter适用于界面较少的情况
    FragmentStatePageAdapter适用于界面较多的情况
    看源码中的destroyItem函数发现FragmentStatePageAdapter在Viewpage切换界面的时候会真正的回收内存,而FragmentPageAdapter不会

  d) Fragment的生命周期

      技术分享图片

  e)  Fragement之间的通信

    1.Fragemnt调用Activity中的方法

      

    2.Activity调用Fragment中的方法

    3.Fragment调用Fragment中的方法

3、Service问题讲解

4、broadcast问题讲解

5、webview安全漏洞问题讲解

6、binder问题讲解

以上是关于第3章 Android基础相关面试题的主要内容,如果未能解决你的问题,请参考以下文章

前端JavaScript面试技巧

PHP职场之面试实战指南-面试技巧考官思路

剑指Offer名企面试官精讲典型编程题pdf

剑指Offer名企面试官精讲典型编程题pdf

剖析Framework面试 冲击Android高级职位

第8章 Android异常与性能优化相关面试问题