美文网首页
Android 那些你需要知道的

Android 那些你需要知道的

作者: IT一书生 | 来源:发表于2018-09-21 11:39 被阅读8次
    • 1、编译结束,多个module的AndroidManifest会合并,当然声明的权限也会合并,所以相同的权限只会被声明一次。每个模块可以声明自身的权限,不用考虑合并后的问题。要是怕遗漏,可以把用到的权限都在base module中声明。关于6.0以后权限的动态声明,可以做正常处理。

    • 2、Gradle 插件默认启用 Manifest Merger Tool 合并Manifest,如果各module有application,application 节点如果有相同的属性(如:icon、name等),会合并失败,从而报错,解决方式是appliaction节点添加属性 tools:replace = "android:icon,android:name",不同属性间用“,”分开。

    • 3、performClick() 方法,是使用代码主动去调用控件的点击事件。

    • 4、在类中定义静态 final int常量时,尽量使用16进制,是为了让位运算更加直观,android源码中用到了很多的位运算,相对于10进制,16进制更加直观易懂。

    • 5、android:fillViewport = "true" 是 ScrollView的属性,功能是让其中的组件去填充它。

    • 6、使用getBackground().setAlpha()方法,设置控件的透明度,会有一个问题,就是导致其他布局背景透明度都发生改变。在布局中多个控件同时使用一个资源的时候,这些控件会公用一个状态,如果你改变了一个控件的状态,其他控件都会接收到相同的通知,这时我们可以使用 mutate() 方法使该控件状态不定,这样不定状态的控件就不会共享自己的状态了。

    layoutView.getBackground().mutate().setAlpha(125);
    
    • 7、SparseArray 是一个轻量级集合,用法类似HashMap,用于替代HashMap,主要是因为能节省部分内存,其次在一定的场景中效率快。

    • 8、LocalBroadcastManager 本地广播,v4包提供的一个工具,用来在同一个应用内的不同组件间发送广播。本地广播只能动态注册,不能像全局广播那样既可以静态注册,又可以动态注册,因为其设计的初衷就是不接收外部广播。通信安全性和通信效率远高于全局广播。但是本地广播传输信息时全权又系统负责,无法干预其中的任何步骤。

    • 9、系统级别的广播其传递是耗时的,而且非常容易被捕获,是不安全的,这时事件总线机制也就应运而生,是一个更节省资源、更高效的工具。事件总线机制通过记录对象,使用监听者模式来通知对象各种事件。目前事件总线框架 EventBus 和 RxBus

    • 10、android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。根据实际情况确定安全性,来设置该属性的值。
      主要作用是:是否支持其它应用调用当前组件。
      默认值:如果包含有intent-filter 默认值为true; 没有intent-filter默认值为false。

    • 11、当有多个module时,并不能保证每个Module定义的资源名称都是不同的,这样就会存在资源冲突的问题,相同的资源名称,后编译的会覆盖掉先编译的。那么如何避免这样的问题呢?在资源命名的时候,根据对应Module功能,设置相应的前缀,这样就不会出现命名重复的问题。

    • 12、线程创建与线程状态
      创建线程的几种方法及对终止线程运行的讨论

    • 13、onSaveInstanceState()方法只有在activity异常终止(如:屏幕旋转)时才会调用。当Activity异常终止时,系统会调用onSaveInstanceState()方法来保存当前Activity的状态(调用发生在onStop() 之前);当Activity被重建之后,系统调用onRestoreInstanceState()方法来恢复Activity的状态(调用发生在onStart()之后)。

    • 14、Activity被强制关闭(即异常情况下),系统会自动调用onSaveInstanceState()方法和onRestoreInstanceState()方法,保存和恢复UI状态。

    • 15、因文件对象未释放导致文件无法删除或访问
      链接

    相关文章

      网友评论

          本文标题:Android 那些你需要知道的

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