anddroid相关
文章平均质量分 88
soybeen
学得越多会的越少
展开
-
从ThreadLocal到Android消息机制
我们都知道,android消息机制,大概就是,每个Thread 都有一个 Looper,然后,Looper循环的从MessageQueue 中取出消息,交给handler处理,但是这个这个过程是怎么处理的呢,怎么保证每个线程和线程的绑定,消息的处理机制,消息队列的存取原理是怎么样的呢,今天我们就结合源码看看。1.首先要从一个类,ThreadLocal.我们打开thread的源码会发...原创 2018-12-15 20:04:41 · 159 阅读 · 0 评论 -
【数据结构】动态规划,求矩阵的最短距离
public class DynamicPlan { public static int getMinDis(int[][] matrix, int n) { int[][] state = new int[n][n]; // 初始化,横向 int sum = 0; for (int i = 0; i < n; i++...原创 2019-02-23 14:18:55 · 734 阅读 · 0 评论 -
【拓扑排序】两种拓扑排序算法
public class Graph { /** * 节点数量 */ public int v; public LinkedList<Integer> adj[]; private Graph(int v) { this.v = v; // 初始化顶点 adj = new Link...原创 2019-02-23 15:34:11 · 854 阅读 · 0 评论 -
【数据结构】动态规划--经典算法0-1背包问题
public class DynamicPlay { public static int pack(int[] item, int n, int totalWeight) { // 申请一个状态数组 boolean[] state = new boolean[totalWeight + 1]; // 哨兵作用 state[0...原创 2019-02-18 21:05:39 · 278 阅读 · 0 评论 -
LeakCanary相关资料
https://www.jianshu.com/p/1e7e9b576391https://www.jianshu.com/p/70b8c87ea877https://blog.csdn.net/llew2011/article/details/52089842https://blog.csdn.net/llew2011/article/details/51373243原创 2019-03-22 14:02:36 · 98 阅读 · 0 评论 -
【框架】EventBus简单实现
1.SubScribe注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface Subscrible { ThreadMode threadMode() default ThreadMode.MAIN;}2.SubScribeMethod封装public cla...原创 2019-03-25 21:25:26 · 201 阅读 · 0 评论 -
Glide源码资料
https://www.jianshu.com/p/9d8aeaa5a329原创 2019-03-22 17:29:00 · 88 阅读 · 0 评论 -
Android P 刘海屏适配问题
1.今天在项目中遇到刘海屏适配问题,这边总结一下这次学习到的东西1.首先是 windowlayoutInDisplayCutoutMode 属性:用法:WindowManager.LayoutParams lp = window.getAttributes();lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LA...原创 2019-04-15 20:17:41 · 3162 阅读 · 0 评论 -
Aop事件注入
package inject;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(ElementType....原创 2019-04-09 20:11:03 · 406 阅读 · 0 评论 -
关于google Calendar Instance 的删除问题
1.问题背景:最近遇到一个问题,就是要删除Calendar Event 的Instance,但是在看官方Api,发现 google并没有提供删除Instance的接口,也就是,你只能差而不能删除Instance链接如下:https://developer.android.com/guide/topics/providers/calendar-provider?hl=zh-cn关系图如下:...原创 2019-04-24 21:44:42 · 817 阅读 · 2 评论 -
【数据结构】树的查找,插入删除
public class TreeSearchUtils { public static void boundarySearch(TreeNode<Integer> treeNode, int data) { TreeNode<Integer> p = treeNode; while (p != null) { ...原创 2019-01-30 23:01:44 · 314 阅读 · 0 评论 -
【设计思想】数据的轻量封装
1.今天在做项目的时候,发现一个Bundle数据,因为异步操作的关系,导致了线程不安全修改而崩溃,看了下源码,Bundle,里面的实现是ArrayMap不是线程安全的,如果要解决这个崩溃,要在调用的地方,加锁处理,但是使用的地方太多,很容易加锁错误于是自己就对Bundle,使用装饰模式做了一层简单的封装,public class SaveBundle{ /** * 读...原创 2019-02-16 15:11:36 · 161 阅读 · 0 评论 -
AnimViewWrapper -- 对view动画的简单包装
public class AnimViewWrapper<T extends View> { T mTarget; public static final int DIRECTION_TOP = 0x01; public static final int DIRECTION_BOTTOM = 0x02; public static final in...原创 2019-01-30 14:34:15 · 243 阅读 · 0 评论 -
一个简单的MVVM Demo
public class TestActivity extends FragmentActivity { Lifecycle lifecycle; TestViewModel testViewModel; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { ...原创 2019-01-06 16:41:07 · 1184 阅读 · 0 评论 -
学习任务
已经学习待总结:1.性能优化相关总结学习中2.线程知识相关学习和总结待学习:数据结构【正在学习中】java虚拟机opengGl复习学习网络知识 tcp和Https,http,socket,网络加密(已经学习,需要总结)跨进程间通信(AIDL Service(bind),ContentProvider)已经学习RecycleView 源码 :...原创 2019-01-06 16:50:18 · 1858 阅读 · 3 评论 -
android 启动模式和newIntent
1.android 启动模式主要分为以下四种:1.standard,这是默认的启动模式。用这种启动方式的话,每一次启动一个activity,都会重新创建一个activity ,无论堆栈中是否存在相应的activity.每次创建过后的生命周期 会从oncreate 开始重新执行2.singTop这种启动方式的话,首先会判断启动的activity是否存在与栈顶,如果存在于栈顶的话,这时...原创 2019-01-02 22:54:41 · 997 阅读 · 0 评论 -
仿Recycler Adapter一个数据和UI结合小框架
package com.commsource.uiwrapper;import android.view.View;public abstract class BaseUIDataWrapper<T> { public T data; public ViewHolder holder; protected OnUIGestureListener...原创 2019-01-17 17:19:32 · 106 阅读 · 0 评论 -
Mvp+clean框架代码
1.首先是UseCasepackage com.example.meitu.cleandemo.base;/** * google useCase框架 */public abstract class UseCase<T extends UseCase.Request, Q extends UseCase.Respose> { /*** * ...原创 2019-01-02 23:28:10 · 289 阅读 · 0 评论 -
事件分发机制相关资料
https://www.jianshu.com/p/38015afcdb58转载 2019-01-02 23:32:33 · 65 阅读 · 0 评论 -
一个小Demo了解,Cavan的坐标旋转平移
package com.example.meitu.testdemo;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import...原创 2019-01-02 23:39:11 · 301 阅读 · 0 评论 -
【数据结构学习】链表--基于链表的LruCache实现
public class Node<K, T> { K key; public K getKey() { return key; } public void setKey(K key) { this.key = key; } T value; /** * 下一个节点 ...原创 2019-01-21 18:38:24 · 258 阅读 · 0 评论 -
androidx PreferenceDialogFragmentCompat 和 DialogPreference的配合应用
最近在升级替换使用androidxDialogPreference 的时候,发现androidx 对DialogPreference进行了解耦,之前的数据持久化和Ui的绑定在DialogPreference中就能实现,而现在需要通过PreferenceDialogFragmentCompat和DialogPreference配合才能使用。说实话对preference的应用在做这个升级之前我...原创 2019-05-08 19:23:28 · 3958 阅读 · 0 评论