- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 Flutter初探 - Element简要分析
Flutter源码初探 - Element简要分析前面我们分析了Widget,发现源码非常简单,主要逻辑就是构建子树,以及是创建Element。 那Element有何神奇?且看Element。首先我们看下Element家族的继承关系:我们可以看到Element系列庞大,但跟我们平常开发关系比较大却不多。接下来我们会主要围绕这个继承关系图,逐个分析主要的类。DiagnosticableTr...
2020-04-09 15:34:11 1446
原创 Flutter源码初探-Wigdet
Flutter源码初探-WigdetFlutter 的 Widget很轻量,仅仅只有4个成员方法,而值得我们关注的只有两个。都是和Element相关。/// 创建一个Element@protectedElement createElement()///是否可以更新Element, 即不用重新创建。 static bool canUpdate(Widget oldWidget, Widg...
2020-04-09 15:31:39 241
原创 Java字符编码学习笔记
Java 内码code_unit: utf-16的是16位unicode编码范围: U+0000 to U+10FFFFjava内码:utf-16: U+0000 to U+FFFF基本多语言编码面(BMP):Basic Multilingual Planecode points:U+0000 to U+FFFF包括:surrogate code points 和 code ...
2020-03-07 18:19:07 153
原创 Java 线程池解析
线程池的意义在Java编程中,总是容易碰到多线程并发的场景。通常最简单的方法,就是new Thread(runnable)方式来创建一条线程。但是如果并发量大,且业务长期需要并发操作,那这个方法就行不通了。首先线程数量创建太多,太占用资源,甚至会超过系统的线程数量限制导致异常。其次,这种方式创建线程,执行完runnable后就会销毁线程,下次并发任务到达又要创建新的线程。频繁的“销毁-创建”的操作也
2018-05-07 20:40:48 166
翻译 【翻译】项目引入组件
项目引入组件本系列其他翻译Android架构指南架构组件可以从Google的Maven仓库获取。只需以下步骤:添加Google Maven仓库android studio项目默认配置中,是没有添加google maven仓库的。所以先要添加该仓库,打开项目的build.gradle文件(注意,不是app module下那个),并且将以下高亮的代码加入,如下所示:...
2018-04-13 20:18:44 301
原创 Glide加载图片缩放模式
Glide加载图片缩放模式前不久做一个水平图片滑动列表选择,效果类似于QQ发送图片。因为图片的长宽比不一致,而高度是固定的,所以就要对图片进行特殊拉伸。所以就看了下Glide拉伸这一块的源码。废话不多说了,下面开始总结。平时我们用BitmapFactory进行加载较大图片时候,往往先通过inJustDecodeBounds方式解析出图片宽高,再结合ImageView宽高计算inSample...
2018-04-11 01:30:29 4694 1
原创 关于Retrofit 动态代理思考
Retrofit动态代理之前项目中引入了Retrofit,在熟悉Retrofit用法之后,感觉它在创建网络请求的方式很新颖独特。典型的使用方式如下:先定义一个服务接口public interface UserService { @GET("users/{username}") Call<User> getUser(@Path("username") String username);
2018-04-09 20:45:54 1152
翻译 【翻译】App Architecture (Android架构组件) 指南
【翻译】App Architecture (Android架构组件) 指南 译者:Android的新出架构系列指南还是很有意义的,在API层为MVVM架构提供了支持。也为追求更清晰的项目架构提供了更低门槛的指导。正好国庆无事可做,因为特别喜欢这几篇指南,所以抽几天时间翻译一下,英文水平不是很好,各位就将就着看,欢迎指正。以下是正文。本系列其他翻译为你的项目引入组件==正文...
2017-10-05 16:11:09 1138
原创 小米魅族系统遇到的6.0权限不弹窗问题
最近在工作中遇到了一个问题,在小米手机上,调用6.0申请权限的api,很久才弹出权限申请框或者不弹。我们的逻辑是在进入一个Fragment,在onViewCreated方法中,判断是否有读取联系人的权限,如果没有就申请权限,可是日志和调试显示权限申请的代码早就执行了,然而弹窗却没有出现。为了方便验证,写了个简单的demo代码类似下面: if(checkSelfPermission(Ma
2017-02-20 18:17:36 2878
原创 Android singleTask和 taskAffinity
在Android中Activity有四种启动模式,1.standard; 2. singleTop; 3:singleTask; 4.singleInstance。这四种启动模式可以AndroidManifest中的activity标签中声明,例如launchMode =“singleTask”,其中默认是standard。其中前面两种比较好理解,就不具体说了,但后面两种就相对不好理解了,
2016-04-16 20:23:38 657
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人