美文网首页Android知识Android技术知识android技术专栏
Android权威指南与第一行代码(第二版)查漏补缺

Android权威指南与第一行代码(第二版)查漏补缺

作者: 黑狗狗哥 | 来源:发表于2017-06-12 11:16 被阅读339次

    Android权威指南与第一行代码(第二版)查漏补缺

    动画

    3.0之前:
    
      {
          frame Animation:帧动画,用许多图像组成的动画。
          tween Animation:补间动画,可以旋转,缩放,改变透明度
     }
     3.0之后:
     {
         ValueAnimatoer,ObjectAnimator:通过不断改变属性的值从而实现动画效果, 
     }
    

    Fragment

    方法:setRetainInstance(true)
    作用:在onCreate()中通过调用setRetainInstance(true)可以保证fragment在旋转屏幕的时候不销毁fragment。
    原理:在旋转的时候,Activity的fragmentManager只销毁fragment的视图而不销毁fragment的实例。并且在旋转完成后,新建的FragmentManager发现了这个fragment的实例,就重建这个Fragment的视图,重用这个fragment。
    注意:fragment只能短暂保留状态,即脱离了旧Activity后要理解从新附加给新的Activity

    Drawable

    在drawable中的xml文件类似与SVG一样的矢量图,因此不会发生失真现象。
    layer-list:这个东西类似与FrameLayout,我们可以在这个标签内使用层级的图形,以便形成许多效果,例如:点击按钮的时候形成边环

    进程与任务

    进程概念:进程是拥有资源的最小单位,每个应用程序的实例都对应一个进程。多个相同的应用程序的实例共用一个进程。
    任务(返回栈):一个应用程序可以拥有许多个栈,每个栈 都由许多Activity实例组成。平时创建的Activity实例都存于栈中。一个栈中的Activity实例可能来自不同的进程实例。例如:在饿了么打开微信支付的Activity

    图解:


    Image.png

    Activity启动模式

    standrad:默认的,每次都新建一个新的Activity实例
    singleTop:如果栈顶的实例是这个Ac'ti'v'i't'y的话,就复用他,否则就新建一个
    singleTask:在栈中寻找是否存在这个Activity的实例,不存在则新建一个,存在则把这个实例上的其他Activity全部移出栈
    singleInstance:启动一个新的返回栈来管理这个Activity,并且这个栈中只有这个Activity的一个实例,之后无论哪个app启动这个Activity都公用这个栈中的这个实例

    启动Activity的最佳做法

    public static void actionStart(Context context,Params...){
    Intent i = new Intent(context,this);
    i.putExtras(..);
    i.putExtras(..);
    context.startActivity(i);
    }
    好处:在两个人或者其他人接手你的项目的时候,无须花时间来阅读你的代码就可以启动你的Activity

    View

    Visible:可见(默认)
    Invisible:不可见,但是依然会占据屏幕
    Gone:不可见,但不占据屏幕

    广播

     标准广播:可理解为并发收到这个广播
    
     有序广播:优先级高的先收到,可截断
     本地广播:只能在本应用程序中使用:LocalBroadcastManager
    

    Sqlite

    当Sqlite数据库满的时候,SqlDatabaseHelper.getWritableDatabase()会报错.因此每次通过这种方式获取数据库的时候要使用try catch

    动态获取权限

    普通权限:在Manifest.xml中配置的权限
    危险权限:日历,相机,联系人,位置,麦克风,电话,传感器,短信,存储。危险权限只要获取权限组中的一个权限,就默认获取这个权限组的所有权限了,例如:获取了读内存卡的权限,则默认也获取了写内存卡权限

    获取文件

    7.0之前:Uri.fromFile()
    7.0之后:FileProvider.getUriFromFile()

    相关文章

      网友评论

        本文标题:Android权威指南与第一行代码(第二版)查漏补缺

        本文链接:https://www.haomeiwen.com/subject/kdhlqxtx.html