当前位置:天才代写 > tutorial > 安卓教程 > Android中的一些基础知识(二)

Android中的一些基础知识(二)

2021-02-05 14:19 星期五 所属: 安卓教程 浏览:482

近几天在回望Android的基本知识,就把一些普遍的知识要点梳理一下,之后忘记了还可以翻出看一看。


  • 简易介绍一下Activity的生命期
    在API文本文档中对生命期回调函数的涵数叙述的很详尽,这儿我只是汉语翻译了一下。

    • onCreate:当Activity第一次被建立的情况下装运。应当在这个回调函数中做全部的复位实际操作,例如:建立View,给lists关联数据信息等。在这个涵数实行完后,一般 会装运onStart方式。Always followed by onStart()(这句话就无需汉语翻译了吧)
    • onRestart:当Activity被stop后,有重启的情况下装运。Always followed by onStart()(这句话就无需汉语翻译了吧)
    • onStart:当Activity对客户由此可见以前装运。当Activity要表明到前台接待(对客户由此可见)时,Followed by onResume();当Activity要掩藏时,Followed by onStop() 。
    • onResume:当Activity逐渐用客户互动的情况下回调函数此方式。这时这一Activity在Activity栈的顶部。Always followed by onPause().
    • onPause:当系统软件提前准备开启另一个Activity的时启用。此方式一般 被用于储存当今的数据信息、终止动漫、一些耗费cpu的实际操作等。而且应当解决的很立即。
    • onStop:当Activity对客户不由此可见的情况下装运。
    • onDestroy:在Activity被消毁以前装运。

    Activity的这好多个性命周期函数是成对出現的:onCreate和onDestroy,onStart和onStop(Activity的View已被建立,但对客户不由此可见),onResume和onPause(Activity对客户依然由此可见)。


  • 假如Activity A已经运作,如今开启Activity B,Activity A、B的生命期方式的实行次序是如何的?
    在Android API中是那样onPause方式的:

Called when the system is about to start resuming another activity.

它是说当系统软件提前准备开启另一个Activity的情况下启用onPause方式。因而,此全过程应该是那样的:

根据运作程序流程,复印log,还可以认证这一的结果,log截屏以下:
这里写图片描述

  • 2个Activity中间如何传递数据?

    基础的数据信息能够根据Intent的putExtra()来传送,如果是别的基本数据类型,能够根据Intent的putExtras()来传送,这时改涵数里必须传送一个Bundle种类的数据信息,Bundle能够根据以下二种方法来建立

        Bundle bundle=new Bundle();
        bundle.putSerializable("data",obj);

    或是

        Bundle bundle=new Bundle();
        bundle.putParcelable("data",obj);
在其中 obj各自必须承继自Serializable或是Parcelable。这儿说一下Serializable和Parcelable是差别。Serializable是Java中的,它是将数据信息以二进制的方式载入的文档中储存的,必须时就文本文件中载入。而Parcelable是Android中特有的,它是将数据信息载入到运行内存中,用的情况下立即从运行内存轻中度取,因而高效率较高,可是Parcelable不可以放很大的数据信息,由于那样会造成OOM。

  • 叙述一下Service的生命期、运行方法及差别、怎样终止Service?
    在Service的生命期中被启用的方式有:onCreate、onStart、onDestroy、onBind、onUnbind,显而易见比Activity的少很多。
    Service的运行方法有二种:

    • 根据startService:
      Service会历经onCreate,onStart,随后运作,在启用stopService时,会回调函数onDestroy方式,终止Service。假如此类状况下开启Service的Activity撤出前不装运stopService,次Service会一直运作,直到被系统软件收购 (当系统软件存储空间不足时)。
    • 根据bindService:
      Service会历经onCreate,onBind,随后运作,在启用unBindService时,会回调函数onDestroy方式,终止Service。假如此类状况下开启的Service会和开启它的Activity关联在一起,Activity消毁,Service也被消毁。

    注:一个Service总是被建立一次,当它实行完onCreate方式后,装运再startService,总是实行onStart方式,装运再bindService,总是实行onBind方式。
    被start的Service只有装运stopService来终止Service,被bind的Service只有装运unBindService来终止Service。另外装运了start、bind的Service则各自必须装运stopService、unBindService来终止Service。自然,因为系统软件存储空间不足,Service被收购 的状况除外。

 

    关键字:

天才代写-代写联系方式