学android也已经5个月了,不知道是自己的英语不够好还是一直找不到自己的位置,到现在对android的基础知识并不透彻,此时”囫囵吞枣“这个词语特别形象。当一个朋友问我”intent分哪几种?”我回答:”startActivity 不返回结果的和startActivityForResult返回结果的“。朋友笑着说:我也是这样回答面试官的,面试官告诉他是显式intent(Explicit Intent)和隐式Intent(Implicit Intent).
你是否问过:为什么一个activity需要生命周期呢?为什么分这么多component呢?Activity,Task,Activity Stack,Application,Intent Flag,Intent filter 这些概念是否很清晰明了的知道呢?这些概念在实际应用中你有很好的处理了吗?
今天没事,我在网上无意发现了一篇好文章,大家可以去研读一下http://www.360doc.com/content/09/1201/15/79031_10135626.shtml。
分享我的心得,若有不对的地方,请指出:)
1,Aplication 一个.apk包就可以称一个application,一般application会有很多Activity 或其他service组成。
2,task:完成用户的一个目的的所有activity 组成一个task.提到task就该提到task stack任务栈也有人叫活动栈。android系统用一个栈来记录一个任务,既然一个任务是由许多activity组成的,那栈里存的就是所有的activity。为什么需要记录呢?因为记录可以通过按back 键回到上一个activity.这也是为什么我们按back键可以回到上一个活动的原因。那么什么时会开启一个新的任务呢?A)Notification 启动Activity会开启一个task,因为通过notification开启activity之后不需要返回到notification,所以需要开启一个新的task,这就是为什么我们在nofication里面启动一个Activity需要设置Intent的Flag为Intent.FLAG_ACTIVITY_NEW_TASK.
3,explicit intent 是明确指定启动哪个Activity,比如 Intent intent= new Intent(ActivityA.this, ActivityB.class).而implicit intent并不明确指定启动那个Activity,而是通过设置一些Intent Filter来让系统去帅选合适的activity来处理。为什么需要分这两种Intent呢?我觉得好处有两个:第一,Activity 的重用,当一个Activity在其manifest里设置了许多intent filter,当发生了implicit intent时,系统就会去匹配这些filter,是否符合目标。所以在设计Activity的时候就要考虑到是否重用问题,若需要重用就要设置intent filter. 第二,Implicit intent可以让用户选择自己喜欢的Activity来处理。若在系统匹配filter时,发现多个符合目标的activtiy就会弹出对话框让用户来选择Activity.
4,启动一个Activity可以是同一个application也可以是不同的application来启动,这就是为什么每个Activity需要自己独立的什么周期。这意味着task stack里有可能不同application的activity组成。也就是说一个task是可以有不同的application组成或者说一个task由不同的application完成的。
还有许多问题,下一次再写了!!呵呵
分享到:
相关推荐
Android 基础知识是指 Android 开发中需要掌握的基本概念和技术,包括算法、数据结构、排序算法等。 1. 排序算法 排序算法是 Android 开发中常用的算法之一,用于将一组无序的数据排列成有序的数据。常见的排序...
Android基础知识是移动应用开发领域的重要组成部分,它是学习如何构建安卓应用程序的基础。Android系统是由Google公司主导开发的开源操作系统,广泛应用于智能手机、平板电脑以及其他智能设备。掌握Android基础知识...
在介绍Android的基础知识时,首先需要了解其系统架构。Android采用了分层的设计,从上到下依次分为应用程序层、应用程序框架层、Android运行时和库、Linux内核四个层次。各个层次承担着不同的功能,保证了整个系统的...
在Android开发领域,掌握基础知识是至关重要的,尤其是在面试过程中。以下是对标题和描述中提到的Android基础知识的详细解析: 1. **Handler**:Handler是Android中的消息处理机制,用于在主线程中处理来自其他线程...
在Android开发领域,基础知识是构建高效、稳定应用的基石。本整理版主要涵盖了Android的核心概念,特别是关于应用程序组件的生命周期以及它们之间的交互。下面将详细阐述这些关键知识点。 首先,Android系统中的...
Android 基础知识测试题是一个涵盖了 Android 开发基础知识的测试题,旨在考察开发者的 Android 基础知识和编程能力。该测试题共有六道题目,每道题目都对应一个具体的编程任务,旨在考察开发者的编程能力和 ...
文件是chm格式的,类似于Java的帮助文档,是我从开始接触Android,一点一滴总结Android的技术知识,总的来说是适合初学者来学习的,而且这个chm文档搜索功能相当强大,搜索某个关键词就可以搜索到对应的知识
### Android基础知识总结与面试要点详解 #### 一、Android架构概览 Android系统采用分层设计,主要包括五层:应用程序层、应用程序框架层、库和Android运行时、Linux内核。其中,应用程序层包含了预装的应用如电话...
《Android基础知识点总结》 Android开发是移动应用领域的重要组成部分,掌握其基础知识是成为合格Android开发者的第一步。本文将从快捷键使用、环境配置、UI界面设计等方面进行深入阐述。 一、快捷键操作 快捷键...
【Android基础知识讲解】 Android系统是由Andy Rubin创立的,最初他在Danger和Android两家公司工作,而Google在2005年收购了Android。Android系统于2007年11月5日正式发布,它是一个基于Linux内核的开源操作系统,...
Java和Android基础知识是IT行业中两个重要的领域,它们在软件开发,尤其是移动应用开发中占据了核心地位。本面试宝典旨在帮助求职者准备相关的面试问题,确保他们在技术面试中能够自信应对。 Java作为一门广泛使用...
Android 基本知识点总结 Android 作为一款流行的移动操作系统,拥有庞大的用户群体和开发者群体。了解 Android 的基本知识点对开发者来说至关重要。本文总结了 Android 的四大组件、Activity 生命周期、横竖屏切换...
【Android基础知识】 Android是Google在2007年推出的一款基于Linux内核的开源移动操作系统,主要用于智能手机和平板电脑。它的名称来源于英文单词"Android",意为“机器人”,象征着其智能化和自动化的特点。...
2. 第一章概述了Android基本概念,如安装包APK、SDK版本、目录结构等基础知识。 3. 第二章重点讲解了Android不同布局及UI开发的基本控件使用。 4. 第三章详细讲解了Activity的生命周期、启动模式、任务栈等重要概念...
Android基础知识讲解.ppt
Android 基本知识点总结 Android 作为一款流行的移动操作系统,具有广泛的应用前景。学习 Android 需要掌握多方面的知识点,本文将对 Android 的基本知识点进行总结。...掌握这些知识点是学习 Android 开发的基础。