第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问题讲解

原文地址:https://www.cnblogs.com/zhaojianhua/p/8582632.html

时间: 2024-10-20 19:36:35

第3章 Android基础相关面试题的相关文章

【ALearning】第二章 Android工程相关知识介绍

本章主要初步介绍Android工程开发环境的搭建,以对Android项目整体的认识与了解.本章包括Android开发环境搭建.第一个Android项目Hello World与Android项目的文件目录结构介绍. Android开发环境搭建 Android开发环境的搭建方式有两种,分别是Eclipse/MyEclipse+ADT+Android SDK和Android Developer Tools.前者方式的开发环境搭建,参看[http://blog.sina.com.cn/s/blog_4e

Android基础相关面试问题-binder面试问题详解

Linux内核的基础知识: 进程隔离/虚拟地址空间:在操作系统中为了保护某个进程互不干扰就设计了一个叫“进程隔离”的技术,防止进程A可以操作进程B的数据.而进程隔离技术用到了虚拟地址空间,进程A的虚拟地址空间跟进程B的虚拟地址空间其实是不同的,而如果进程与进程之间要进行通知则需要某种通信机制才能完成,在android里面就是binder通信机制. 系统调用:因为系统对内核存在某种保护机制来告诉应用程序你只可能访问某些许可的资源,不许可的资源是不能被访问的,也就是把Linux的内核层与应用层抽象隔

第二章:基础知识 面试题2

概念部分 在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区.    1. 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的变量通常是局部变量.函数参数等.    2. 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete.如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收.    3. 自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相

Android 面试题总结之Android 基础(四)

Android 面试题总结之Android 基础Service(四) 在上一章节Android 面试题总结之Android 基础Broadcast Receiver(三) 我们讲了Broadcast Receiver基础知识.本节主要讲解Service相关基础知识,Service也是我们开发过程中经常使用到. 在阅读过程中有任何问题,请及时联系.如需转载请注明 fuchenxuan de Blog 本章系<Android 之美 从0到1 – 高手之路>Android基础Service 总结了A

Android 面试题总结之Android 基础(二)

Android 面试题总结之Android 基础ContentProvider(二) 在上一章节Android 面试题总结之Android 基础Activity(一) 我们讲的Activity基础知识.有许多朋友反映看着比较乱,我又回去看了看 ,确实很乱,不够细心.然后我又重新整理了一遍.让大家阅读体验更好! 在阅读过程中有任何问题,请及时联系. 本章系<Android 之美 从0到1 – 高手之路>Android基础ContentProvider 总结了Android 开发者面试比较常见的C

Android 面试题总结之Android 基础(六)

Android 面试题总结之Android 基础(六) 在上一章节Android 面试题总结之Android 基础ListView(五) 主要是ListView的优化,原理以及一些基本问题. 在阅读过程中有任何问题,请及时联系.如需转载请注明 fuchenxuan de Blog 本章系<Android 之美 从0到1 – 高手之路>Android基础将会总结了Android 布局常见面试问题.其实对于基础方面Android 开发来说,经常面试无非就是UI,网络,数据库,这三大方面,本章节总结

第一章 android以及智能手机行业相关简介

第一章 android以及智能手机行业相关简介读后感受&知识累计 最近深刻了解到自己基础知识的不足,变不断的开始阅读很多android相关的知识,希望这些对本人未来的职业发展有很大的帮助.下面的部分知识并不是书中原来的样子,是本人综合了一下,整合的感受和知识,本人写博客并不是为了帮助大家在代码层面解决问题,只是为了方便有向我一样的ce来积累知识,固图片很少,纯文字型的. 一.android简介 1.android的产生 android是有OHA(开放手机联盟)vs 谷歌一切提供的一款软件平台,至

【ALearning】第五章 Android相关组件介绍(一)Activity

Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest绑定在一起.在manifest中,描述了每一个组件以及组件的作用,其中有6个组件,它们是Android应用程序的基石. Activities(活动) Service(服务) Content Provider(内容提供者) Intent(意图) Broadcast Receiver(广播接收器) Notification(通知) 在这里我们提到了组件(Component)的概念,组件(Component)是对数据和方法

Android基础入门教程——10.10 传感器专题(1)——相关介绍

Android基础入门教程--10.10 传感器专题(1)--相关介绍 标签(空格分隔): Android基础入门教程 1.传感器相关介绍: 说到传感器,相信大家都不会陌生吧,比如微信的摇一摇就用到了加速度传感器: 传感器的定义:一种物理设备或者生物器官,能够探测.感受外界的信号,物理条件(如光,热, 适度)或化学组成(如烟雾),并将探知的信息传递给其他的设备或者器官! 传感器的种类:可以从不同的角度对传感器进行划分,转换原理(传感器工作的基本物理或化学 效应):用途:输出信号以及制作材料和工艺