按照正常的app行为,很少情况下activity会销毁,只有当用户点击了返回按钮或者activity通过调用finish()发出销毁信号.系统也有可能销毁activity如果它是停止状态并且很久没有使用,或者前台的activity需要更多的资源时系统不得不关掉后台进程来获得内存. 当activity销毁了因为用户点击的返回按钮或者自己结束,系统认为这个activity永远的消失了因为这个activity实例不再需要了.但是,如果时因为系统原因销毁了activity(不是app正常的行为),这个时…
停止和重启activity在activity的生命周期中很重要,它能让用户感觉你的app总是激活的而且不会丢失他们的进度.activity在下面的这些情况会停止和重启: 用户打开常用app窗口然后从你的app切换到其他app.你的app中的activity现在就在后台了而且停止了.如果用户从主屏的启动图标或者最近使用的app窗口返回到你的app,这个activity就会重启. 用户在你的程序中执行了一个操作来启动一个新的activity.当前的activity在第二个activity创建时就会停…
在正常的使用app时,前台的activity有时候会被可见的组件阻塞导致activity暂停.比如,当打开一个半透明的activity(就像打开了一个对话框),之前的activity就会暂停.只要activity仍然部分可见但是没有获得焦点,它会保持在paused状态. 但是,一旦一个activity完全被阻塞并且不可见,它就会到Stopped状态(后面会讨论这个). 当activity进入Paused状态,系统会调用activity的onPause()方法,可以让你停止那些不需要继续运行的动作…
很多程序都是从main()方法开始启动的,和其他程序不同,android是在activity生命周期的特定状态的特定回调方法中初始化代码的.activity启动和销毁的时候都用很多回调方法. 这里将要对生命周期中大多数重要的方法进行一个总体介绍以及如何处理生命周期中的第一个回调方法(这个回调方法创建了一个新的activity实例). 理解生命周期回调方法 在activity的生命周期中,系统按照像金字塔的顺序调用了一系列的生命周期回调方法.也就是说,activity生命周期中的每个状态就像金字塔…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/index.html 当一个用户使用你的应用,或者返回,或者退出时,Activity的实例会在它的生命周期内对应地切换到相应的状态.例如:当你的Activity第一次启动时,它会来到系统的前台并获得用户焦…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/network-ops/managing.html 这节课将讲解如何写一个对使用网络资源具有细粒度控制的应用.如果你的应用要执行很多网络操作,你需要提供用户设置,使得用户可以控制你的应用处理数据的行为,比如你的应用同步数据的频率,是仅在有Wi…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/displaying-bitmaps/manage-memory.html 接着上一节课的步伐,还有很多特定的事情可以让垃圾回收和位图重用变得容易.根据你的目标Android系统的不同版本,推荐的策略也会有所不同.这系列课程的样例代码:BitmapFun(…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/intents/result.html 启动另一个activity不一定是单向的.你也可以启动另一个Activity后,接收它返回的结果.为了接收结果,调用startActivityForResult()(而不是startActivity()…
用户在浏览,退出,返回app时,app中的Activity实例会在不同状态之间切换.比如,当activity第一次启动,然后来到系统前台,受到用户的注意,这个过程中,android系统调用了一系列activity生命生命周期相关的方法来创建用户界面和其他组建.如果用户执行了一个操作来启动了另外一个activity或者切换到其他程序,当它切换到后台时,系统会调用另外的生命周期相关的方法.(当它在后台时,activity不可见,但是实例和状态仍然存在). 在生命周期的回调方法中,你可以自定义用户离开…
之前写了一个一键锁屏软件,有个朋友用了后发现了问题,所以昨天研究了一个activity在锁屏后的生命周期变化.如下: 锁屏分为两个步骤,先是锁定屏幕,再是黑屏 onCreate(在该方法里锁屏)--->onStart--->onResume 黑屏后:onPause 点亮屏幕后:onResume 以上是在屏幕方向没有改变时的生命周期变化. 关于finish(): finish()后不管是在哪个地方,会直接到onDestroy.…
在正常使用应用的过程中.前台的activity在一些时候会被其它的组件遮挡,导致这个activity暂停.举个样例.当一个半透明的activity被打开(比如一个dialog样式的activity),它之前的activity就会暂停. 假设这个activity长时间一直仅仅能部分可见而且获取不到当前的焦点.它就保持暂停状态. 然而,一旦这个activity被全然遮挡而且全然不可见,它就会停止(我们会在下此课程中讨论). 当你的应用进入到暂停状态,系统会调用你的activity的onPause()…
(1)创建:onCreate->onStart->onResume;(2)失去焦点:onPause->onStop:(3)重新获得焦点:onRestart->onStart->onResume;(4)退出:onPause->onStop->onDestory…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/network-ops/index.html 这系列课程会展示一些基本的任务,包括连接到网络,监控网络连接(包括连接变更),以及给用户对于应用网络使用的控制权.同时也讲一些如何解析XML数据. 这系列课包含了一个简单地应用来解释如何执行一些普…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/displaying-bitmaps/index.html 学习如何使用常规的技术来加载和处理的Bitmap对象,可以让你的UI组件保持响应并避免超过了你的应用的记忆限制.如果你不足够小心,位图资源会迅速消耗你的可用存储.最终导致应用崩溃,并抛出错误:ja…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/data-storage/databases.html 一个Android应用一般都有几个activities.每个activity显示一个UI来允许用户一些特殊的事务(比如浏览地图或者拍摄照片).为了将用户从一个Activity指引到另一个…
管理 Activity 生命周期 通过实现回调方法管理 Activity 的生命周期对开发强大而又灵活的应用至关重要. Activity 的生命周期会直接受到 Activity 与其他 Activity.其任务及返回栈的关联性的影响. Activity 基本上以三种状态存在: 已继续 此 Activity 位于屏幕前台并具有用户焦点.(有时也将此状态称作“运行中”.) 已暂停 另一个 Activity 位于屏幕前台并具有用户焦点,但此 Activity 仍可见.也就是说,另一个 Activity…
        转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/46910811[yalinfendou的博客]         接着上一篇继续去追踪Activity_B生命周期回调源代码.         继续分析,在performPauseActivity方法中,回调了Activity的两个操作函数:         一 个是用于保存状态的onSaveInstanceState(),还有一个就是onPause()  ,这里…
前言 很高兴遇见你~ 欢迎阅读我的文章. 关于Activity生命周期的文章,网络上真的很多,有很多的博客也都讲得相当不错,可见Activity的重要性是非常高的.事实上,我猜测每个android开发者接触的第一个android组件都是Activity.我们从新建第一个Activity开始,运行了代码,看到模拟机上显示了一个MainActivity标题和一行HolleWorld,从此打开Android世界的大门. 本篇文章讲解的重点是Activity的生命周期,在文章的最后也会涉及Activit…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/managing-audio/index.html 如果你的应用播放音频,那么让用户可以以一种可预测的方式控制音频是一件很重要的事情.为了保证优秀的用户体验,还有一件同样重要的事情是,你的应用需要管理音频焦点,来保证不会出现多个应用同时播放音频的情况发生.…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/fragments/index.html 为了在Aondroid上创建一个动态可分割的UI,你需要将UI组建和activity的行为进行封装,通过这样的方式你可以将这些组建换入或换出你的activity.你可以通过Fragment类来创建这些…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/stopping.html 正确地停止和重启你的activity在整个生命周期过程中是非常重要的,它可以让用户感觉到你的应用一直处于活跃状态,并且不会丢失他们的进度.以下是一些你的activity被停止或…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/starting.html 不像其他的编程范例一样应用的函数入口是“main()”方法,Android根据Activity处于何种声明周期状态去调用它所对应的生命周期回调函数,以此来创建一个Activit…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/intents/filters.html 之前的两节课关注于故事的一面:从你的应用启动另一个应用的activity.但是如果你的应用可以执行一个对另一个应用来说有用的行为,那么你的应用就应该准备好响应由其他应用所发起的行为需求.例如,你构建了…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/actionbar/index.html 添加Action Bar Action Bar是你能为你应用的Activity所能实现的最重要的设计元素之一.它提供了一些用户接口特性,使得你的应用可以通过和其他的应用在使用过程中体现一致连贯性而被用…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/firstapp/starting-activity.html  一. 启动另一个Activity 在完成了之前的课程后,你已经拥有了一个显示一个Activity(即只有一个屏幕画面)的应用,在这个Activity中有一个文本框和一个按钮.在…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/firstapp/index.html 一.构建你的第一个应用 欢迎来到Andorid应用开发! 这系列课程会教授你如何构建你的第一个Android应用. 你将学习如何创建一个Android项目工程,并且运行一个可调式版本的应用.同时你也将会…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/sync-adapters/index.html 在一台Android设备和网络服务器之间同步数据,可以让你的应用更加实用,更加吸引用户的注意.例如,将数据传输到服务器可以实现一个有用的备份,而将数据从服务器中获取可以让用户随时随地都能使用你的应用.在一些…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/recreating.html 在应用被正常使用的情况下,会有一些场景发生并使得你的activity被销毁,比如:当用户按下了返回键,或者你的activity调用了finish()方法将自己销毁.当你的a…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/pausing.html 在正常使用应用的过程中,在前台的activity有时候会被其它组件所遮挡,导致这个activity进入到暂停态.例如:当打开一个半透明activity(dialog中有这样一种风…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/beam-files/index.html Android允许你通过Android Beam文件传输功能在设备之间传送大文件.这个功能键具有简单的API并允许用户通过简单地点击设备启动传送步骤.在响应过程中,Android Beam文件传输自动地将文件从一…