Android术语

Android术语包括ContextAtivityIntentService这四种重要术语。

   

     4.1         Context(中央控制中心)

作用:管理应用程序特定的配置细节,以及应用程序范围的操作和数据,使用Context来访问设置资源可以在多个Activity实例中实现共享。

获取:Context context = getApplicationContext();

使用:  1. 通过getResources()方法来获取资源实例

        2.  访问应用程序首选项,经常用来存放配置

        3.  访问其他应用程序的功能

            1)运行Activity实例

            2)获取应用程序所带组件(asset

            3)获取一个系统服务

            4)管理私有的应用程序文件、目录和数据库

            5)检查和使用应用程序权限

注意:Activity继承自Context,所以有时也可以替代对应应用程序Context的显示获取。但是,并不是所有的情况下都可以使用ActivityContext的,有可能会导致内存溢出。例如:我们经常使用Context传递参数的时候,都是用Activitythis实例来传递,这种情况传递过多会出现内存溢出,解决方法就是使用getApplicationContext()来获取Context传递过去。

 

     4.2         Activity

    作用:任何一个Android应用程序的核心组成部分

    生命周期:并不是每个Activity都是在当前活动可见的,每个应用程序在被用户使用的过程中,只有一个Activity是当前用户可见并可操作的(即获取到焦点的)。而一旦开启另一个活动Activity,那么之前的那个Activity就会被Android操作系统自动处理,压入Activity栈中。而这个新压入的栈完成工作后,则会被从栈顶移除。而之前的Activity又会回到栈顶,成为活动Activity

4.2.1 Activity生命周期内的一些列回调

 

    回调函数的调用时机和调用目的:

   

回调函数

描述

调用时机

调用目的

onCreate()

初始化静态

Activity

一个Activity首次运行的时候调用

仅有一个参数,Bundle对象。对于首次运行的Activity来说为空。如因内存原因被终止的ActivityBundle包含之前的Activity状态信息。用来尽心数据绑定。

onResume()

初始化和接受Activity数据

Activity为前台进程的时候调用

获取Activity运行所需资源。适合于启动音频、视频和动画。

onPause()

停止、保存和释放Activity数据

Activity接受到在栈中被下移的通知

终止在onResume中播放的所有音频、视频和动画。同时,必须接触某些资源,例如数据库。保存未提交的数据,这是Activity在后台的最后一个机会能够做这些事情。

 

被销毁:   1.  在低内存下,Android会终止任何非活动Activity

2.  onPause()被调用,则onStop()onDestory()不会被调用

            3.  onPause()释放越多的资源,转入后台的Activity被终止可能行越小

            4.  终止Activity不会从栈中移除,而是将其销毁钱状态存入Bundle。前提为Activity实现了它,并且使用了onSaveInstanceState()方法保存自定义数据。

 

避免被销毁:1. 使用onSaveInstanceState()Acitvity状态存储至Bundle对象

注释:该方法不一定会生效,所以对于关键数据最好在onPause()中调用。至于返回这个状态,则只需要利用onRestoreInstanceState()方法调用Bundle中的信息即可。

                2.  onDestory()方法中保存数据

注释:Activity自然完成了它的生命周期,或者由于资源占用的原因被Android系统终止的时候调用onDestory(),这时候可以将未保存的数据保存下来。

   

    Intent跳转:1. 只出现一次的跳转,例如启动动画

                    注释:startActivity()finish()方法

2.  暂时性跳转,只是为了等待一个结果

    注释:startActivityForResult()onActivityResult()方法

    跳转实现: 1.  使用类名运行

                    注释:显示调用Intent,譬如:

startActivity(newIntent

(getApplicationContext(),TestActivity.class))

                2.  使用Action

                    注释:Uri number = Uri.parse(tel:11111);

                    Intentintent = new Intent(Intent.ACTION_DIAL, number);

                    startActivity(dial);

                    上述是调用系统电话功能

                3.  传递信息

                    注释:使用Intent中的putExtra方法

                    注意:Android约定用于附加信息的键名必须包含一个包前缀

    服务:      1.  没有用户界面的Activity

    服务作用: 1.  天气、邮件等社交网络类。

                2.  照片和多媒体应用,用于数据的同步

                3.  视频编辑应用,添加繁琐的操作到服务,避免性能影响

                4.  新闻预载入,提高性能

                5.  经验规则:某个任务需要一个辅助线程,但可能会影响应用程序的响应性和性能,这个时候可以考虑使用服务来处理这一任务。

   

     4.3         小结

        Activity的一些重要概念。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值