文章分类 - Android
摘要:官方文档的描述ViewTreeObserver是用来监听一些全局变化的。 在 ViewTreeObserver 中,包含了以下几个接口: interface ViewTreeObserver.OnGlobalFocusChangeListener interface ViewTreeObserver
阅读全文
摘要:1、配置好Java环境,在控制台执行 “javac -target 1.8 -source 1.8 Hello.java” 生成Hello.class文件; 2、配置dx环境 (例如:目录 D:\Sdk\build-tools\28.0.3)在控制台执行:”dx --dex --outout Hel
阅读全文
摘要:前言 Android Studio新建工程的时候会自带android:supportsRtl这个属性。借机科普一下。 官网文档 原文: android:supportsRtl Declares whether your application is willing to support right-
阅读全文
摘要:1、Looper.loop是一个死循环,拿不到需要处理的Message就会阻塞,那在UI线程中为什么不会导致ANR?主线程的死循环一直运行是不是特别消耗 CPU 资源? 首先需要明确ANR的概念,ANR是Android Not Response的缩写,什么情况下会造成ANR? 1、当前的事件没有机会
阅读全文
摘要:https://blog.csdn.net/zhaoyanjun6/article/details/94402604
阅读全文
摘要:一、概要: 本文主要以Android的渲染机制、UI优化、多线程的处理、缓存处理、电量优化以及代码规范等几方面来简述Android的性能优化 二、渲染机制的优化: 大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能。 Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染,
阅读全文
摘要:include:方便复杂布局的重用,使得布局模块化。最常使用到的地方如在每个Activity中加入统一的状态栏。 merge:减少include之后的布局层级。 ViewStub:提高布局初次加载性能。常用于网络加载失败页,按需加载View等。 include、merge结合使用:官方对<merge
阅读全文
摘要:在工作中遇到了一种情况,在可以横向滑动的viewPager其中的一项中嵌套着一个webView,并且在这个webView中也有可以横向滑动的的类似viewPager的组件,因为webView其中的H5组件我们是无法控制的,因此便会发生滑动冲突,现象则是webView中的H5组件无法滑动。比如下图 冲
阅读全文
摘要:Character 类用于对单个字符进行操作。 Character 类在对象中包装一个基本类型 char 的值 实例 char ch = 'a'; // Unicode 字符表示形式 char uniChar = '\u039A'; // 字符数组 char[] charArray ={ 'a',
阅读全文
摘要:RxJava很优势的一个方面就是他的线程切换,基本是依靠ObserveOn和SubscribeOn这两个操作符来完成的。 先来看看什么是ObserveOn和SubscribeOn,官方对他们的定义是这样的: ObserveOn specify the Scheduler on which an ob
阅读全文
摘要:https://blog.csdn.net/carson_ho/article/details/79674623
阅读全文
摘要:https://blog.csdn.net/xotty/article/details/81054644
阅读全文
摘要:onCrante() //在 Activity 生命周期开始时调用 onRestoreInstanceState()//用来恢复 UI 状态onReStart()//当 Activity 重新启动时调用onStart()//Activity 对用户即将可见时调用 onResume()//当 Acti
阅读全文
摘要:YY开源了一个动画框架,可以直接把设计师做好的动画源文件转换成特定格式,并且在Android,iOS,Web三端进行播放,集成很方便,所以尝试了一下,效果很酷炫,记录一下心得体验。 demo地址:https://github.com/LittleNum/SVGA-Samples.git 框架地址:h
阅读全文
摘要:六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 单一职责 概念:对功能进行分类,代码进行解耦 栗子:一个网络请求框架大致分为:请求类,缓存类,配置类;不能把这三个功能混合在一起,必须分成三个类分别去实现不同的功能 里氏替换 概念:在继承类时,除了扩展一些新的功
阅读全文
摘要:一般来说,虚拟机的进程和线程都是和目标机器本地操作系统的进程和线程一一对应的,这样的好处是可以使本地操作系统来调度进程和线程。 Dalvik虚拟机运行在Linux操作系统之上。Linux操作系统并没有纯粹的线程概念,只要两个进程共享一个地址空间,那么就可以认为它们是同一个进程的两个线程。Linux系
阅读全文
摘要:View相关的坐标 Android手机屏幕的坐标原点(0,0)在屏幕的左上角,向右为x轴的正方向,向下为y轴的正方向。 View的位置由四个顶点确定,且View的位置都是相对于父控件来说的。 View的四个顶点分别对应于View类中的mLeft,mTop,mRight,mBottom,它们在View
阅读全文
摘要:如果想要将View在X轴和Y轴上正方向移动100px,有如下几种方法: layout offsetLeftAndRight,offsetTopAndBottom setLayoutParams scrollTo,scrollBy 属性动画 位移动画 1.layout layout(getLeft()
阅读全文
摘要:一、本文目的 本篇文章的目的是为了 搞清楚,哪些情况下开启一个 Activity 会在新的 task 运行,哪些情况下会继续在原来的task 运行。 二、相关基础知识 知识点 1 每个 Activity 运行时都有一个其归属的 task栈,我们可以用 activity.getTaskId() 的方法
阅读全文
摘要:我们都知道字线程里更新不能更新UI,否则系统会报Only the original thread that created a view hierarchy can touch its views.错误,具体如下: android.view.ViewRootImpl$CalledFromWrongT
阅读全文