240 发简信
IP属地:北京
  • @xgeeek 不能 想提高效率只能 分类延迟初始化

    使用ContentProvider初始化你的Library

    参考:A B我们做项目的时候会用到很多库,不论是三方库还是或者是自己写的,不可避免的会要去初始化它们,一般都是在Application的oncreate里,那么我们现在会在A...

  • 令人困惑的fitsSystemWindows属性

    fitsSystemWindows 介绍 根据官方文档,如果某个View 的fitsSystemWindows 设为true,那么该View的padding属性将由系统设置,...

  • Gson和Type

    Gson和Type SerializedName注解 SerializedName注解提供了两个属性,value单个,alternate多个。注:alternate需要2.4...

  • android注解

    android注解:通过android.support.annotation库: NonNull不为空:成员变量、局部变量、参数、方法返回 CallSuper 注解: kee...

  • Runnable、Callable、Future和FutureTask

    Runnable、Callable、Future和FutureTask 线程池:继承关系:ThreadPoolExecutor->ExecutorService->Execu...

  • java偏向锁、轻量锁、自旋锁、重量锁

    参考偏向锁->基本可以确定只有一个线程在执行同步块的时候使用,一旦有了竞争就升级为轻量级锁,升级为轻量级锁的代价挺大,这种情况下要禁用。 偏向锁是在无锁争用的情况下使用的,也...

  • Android进程优先级ADJ算法

    参考 当Android四大组件状态改变时会updateOomAdjLocked()来同步更新相应进程的ADJ优先级。这里需要说明一下,当同一个进程有多个决定其优先级的组件状态...

  • lock使用

    5、Lock 和 Synchronized 的选择 总的来说,Lock 和 Synchronized 有以下几点不同: (1). Lock是一个接口,是JDK层面的实现;而s...

  • 常用sql语句

    sqlite详解1.SQLiteStatement提升多次操作的性能2.删除表字段:sqlite不支持删除字段,只支持增加字段吗,只能重命名旧表 重建新表 导入数据 然后删除...

  • 线程池

    并行:多核cpu同时处理多件事并发:伪并行 继承关系:ThreadPoolExecutor->ExecutorService->ExecutorExecutors:Threa...

  • 120
    排序算法

    常见排序算法及JAVA实现 简单选择排序(SelectSort) 选择排序思想很简单,对所有元素进行遍历,选出最小(或最大)的元素与第一个元素进行交换,然后逐次缩小遍历的范围...

  • 120
    Java内存模型

    在Java中,所有实例域、静态域和数组元素都存储在堆内存中,堆内存在线程之间共享。 局部变量(Local Variables),方法定义参数(Java语言规范称之为Forma...

  • Intent.FLAG分析

    从前文知道,Android中任务栈(Task)会随着启动模式的不同而表现出不同的状况。其实除了在Mainfest中定义的启动模式,我们还可以通过为调用Activity的Int...

  • 120
    Binder原理

    IPC机制:Inter-Process Communication,进程间通信RPC: Remote Procedure Call—远程过程调用,它是一种通过协议从远程计算机...

  • LMK机制

    1.1 基本原理 Low Memory Killer与OOM的区别:OOM即Out ofMemory是标准linuxKernel的一种内存管理机制,LowMemory Kil...

  • 工厂模式

    工厂模式——看这一篇就够了 简单工厂模式: 简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。简单工厂模式的缺点...

  • 六大设计原则

    单一职责:一个类只负责一件事开闭原则:当对扩展开放,对修改关闭。尽量在不修改原有代码的情况下进行扩展。里氏替换:方法参数用基类,可以传子类一定不会报错(java编译期也会检查...