一、常见的状态保存恢复方式 ①onSaveInstance + onRestoreInstance 这种方式是最通用的实现状态保存与恢复,在Android生态种,组件和View大量使用了此方式。 ②android:con…
分类:移动开发
Kiwi,BDD行为测试框架--iOS攻城狮进阶必备技能
简介 Kiwi 是一个适用于iOS开发的行为驱动测试框架,旨在提供一个足够简单易用的BDD库. 项目主页: https://github.com/kiwi-bdd/Kiwi 示例下载: https://github.co…
Android/java 多线程(一)-Thread的使用以及源码分析
线程的概念以及状态 在学习线程之前,我们需要普及一个概念,每一个程序运行都会有一个父进程,我们的线程就是在此父进程中运行,拿Android来说,默认情况下,启动一个程序,所有的组件程序都运行在同一个进程中,并且会创建一个…
RecyclerView 源码分析(四) - RecyclerView的动画机制
距离上一篇RecyclerView源码分析的文章已经过去了10多天,今天我们将来看看RecyclerView的动画机制。不过,本文不会分析ItemAnimator相关的知识,而是理解RecyclerView怎么执行I…
let apply with run also 小结
let() fun T.let(f: (T) -> R): R = f(this) let() 是一个域函数:当你想定义一个只存在特定域且不能超出此域的变量的时候可以使用它,它对编写自包含(self-contain…
Android常用开源库种类大全
1.基本控件 1.1.TextView ScrollNumber ReadMoreTextView HtmlImage android-autofittextview html-textview BabushkaText…
设计模式六大原则概述
设计模式在编程中有重要的指导意义,每个项目在架构阶段就应该很好的满足设计模式的六大原则,当然也要根据项目的实际情况来权衡取舍,平衡效率跟质量的关系。下面简单介绍下设计模式的六大原则。 1.单一职责原则 a)Single …
Java ArrayList使用技巧 - 从第一个List中去除所有第二个List中与之重复的元素
需求:从 mAllList 中去除所有 mSubList 中与之重复的元素 测试数据:mAllList 中包含100000个无序无重复字符串,mSubList 中包含50000个无序无重复字符串 方法一、ArrayLis…
Android Studio NDK升级导致编译失败
最近在Android Studio2.2上面的工程,原来的NDK版本是12,而升级为13 Beta 1后出现编译失败,有类似如下提示: CMake Error at …/cmake/3.6.3155560/a…
关于三种『应用内主题切换』开源项目的一点思考
[TOC] 这里讨论的只是白天、夜晚主题切换这种场景,不涉及外部资源加载。 现在要给App添加夜晚主题,所以就需要选择一种应用内部更换主题的实现方案,目前来说,比较常见的几种方式如下: Theme 设置Theme来切换不…
工具类之FragmentUtils
fragment应该是广大Android开发者都用到过的一个view,在此我整理了一个操作比较齐全的工具类,应该也是网上独一无二的,在此推荐我收集到的几篇fragment比较好的文章,Square:从今天开始抛弃Frag…
【Android 开源系列】之网络请求框架
Android 开源系列 【Android 开源系列】之缓存框架 【Android 开源系列】之图片加载框架 Retrofit– Star 23251 Square开源的Android和Java的REST风格…