7 静默加载

尚未进行身份认证

优秀的判断力来自于经验,但经验来自于错误的判断。在看着别人走过的路时,思考怎么走自己的路。无私奉献不是天方夜谈,有时候,我们也可以做到。

等级
TA的排名 9k+

Dart和Java通信源码分析和实践

前言Dart和Java通信这块的知识点涵盖了Dart&C以及Java&C的通信,我们先有简单的业务组件的定义再到底层实现原理进行分,我们现在从Flutter定义的三种Channel中的MethodChannel使用进行剖析。Dart和Java通信的实践Java端ChannelPlugin的创建publicclassFileProviderPlug...

2019-08-06 16:03:26

从JNI_OnLoad看so的加载

前言最近在看Flutter中Dart和Java使用MethodChannel进行通信相关的代码,有上层一直跟到了底层。最后看到了MethodChannel的注册是在JNI_OnLoad的方法中。这个方法是在so被加载的时候调用的。今天主要从so的加载看一下JNI_OnLoad的调用。Flutter的so加载我们先从Application的代码看起:Fl...

2019-07-29 10:05:38

Flutter路由管理和页面参数的传递(源码分析)

前言上一篇Flutter路由管理和页面参数的传递(获取&返回)文章中我们讲述了这么用代码实现Flutter中页面参数的传递,这一篇我们用源码分析一下Navigator为什么可以进行页面参数传递。从页面跳转入口的代码进行分析:Navigator.of(context).pushNamed('/route1');Navigator的获取Navigator对应的St...

2019-07-20 09:56:33

Flutter路由管理和页面参数的传递(获取&返回)

前言在做Flutter开发的时候所有的页面以及页面上的元素都变成了Widget,创建一个页面或者视图直接new一个新的widget就可以,相关的参数我们可以直接通过构造函数直接传递。我们做Android开发的人员都知道Android应用程序在进行页面跳转的时候可以利用Intent进行参数传递,那么再开发Flutter的时候有类似的方式可以进行参数传递么?答案当然是有...

2019-07-20 09:54:48

Flutter混合开发:启动黑屏处理

上一篇[Flutter混合开发:Android接入Flutter](https://dandanlove.blog.csdn.net/article/details/96565543)我们讲到在Flutter混合开发中主要有、有addView(页面局部Flutter)和setContentView(整个页面Flutter)两种方式。这两种方式在启动页面的时候都会遇到Flutte...

2019-07-20 09:50:59

Flutter混合开发:Android接入Flutter

前言FlutterGoogle推出已经已经一年多了,单个Flutter项目的开发流程已经很成熟了。对与个人开发者来说使用Flutter开发一个跨平台的App挺有意思。但是对于现有的项目改造来说还是不建议,Flutter中的控件还没有完全能满足我们的要求,我们需要解决这个问题会消耗我们大量的研发资源。虽然Flutter无法接入我们的项目,但是我们可以尝试者去模仿Flutter...

2019-07-20 09:49:17

细说InputStream和OutputStream

前言我们进行Android开发的时候经常会遇到各种io操作,比如网络请求,文件操作,数据传输等。Java中的InputStream和OutputStream都是io包中面向字节操作的顶级抽象类,关于java同步io字节流的操作都是基于这两个的。网络数据传输:SocketInputStream和SocketOutputStream文件操作:FileInputStr...

2019-06-14 20:22:47

byte&0XFF的基础

前言最近在做代码相关的优化,找到了一个二进制转十六进制的方法:/***二进制转16进制*@parambin*@return16进制字符串*/publicstaticStringasHex(byte[]bin){//一个byte为8位,一个十六进制为4位,所以长度乘以2StringBuilderbfHex=newStringBui...

2019-06-04 14:11:10

解决6.5.16及以上版本微信内部M页不能唤起APP

背景最近微信唤起app的数据急速下降,产品同学告诉我们大事来了,微信不能唤起Android的App了!!微信语录为提升微信webivew中网页打开其他应用的体验,防止诱导点击、强制跳出等不合理行为,我们的“唤起外部客户端”的能力统一调整为:1、在6.5.16及以上版本的微信客户端中,贵方网页将只能使用launchApplication接口,打开其他应用。该接口会在唤...

2019-02-21 21:01:24

小明要吃冰淇淋之RxJava:lift原理

个人博客地址http://dandanlove.com/前言关于RxJava的基础心法解析我们在使用RxJava的时候必不可少的会使用一些基础的操作符,map、flatMap、filter等。这些都是对Obserbable进行各种各样的变化,我们查看其实现都能看到一个叫做lift的操作符。lift源码我们先看源码(rxjava:1.3.0),再通过一个例子来熟悉...

2019-01-14 21:58:41

一次Observable的empty和never方法的rx源码笔记

我们在用RxJava的时候,如果需要在某个地方需要中断事件流,那么直接返回一个Observable.empty(),与它有类似功能的有Observable.never。Observable.just(1,2,3,4,5).flatMap((Func1<Integer,Observable<Object>>)integer->{...

2019-01-07 21:07:07

Android:Base64生产Bitmap压缩和转byte[]

最近在做微信分享的时候遇到了分享图片的大小限制问题,需要对图片进行压缩。在过程中遇到几个有趣的地方在此记录。Bitmap.getByteCount的大小和转化为byte[]的大小差很多不是8倍,而是几十倍,我自测的为67倍压缩Bitmap直接根据长宽比进行调用createScaledBitmap(@NonNullBitmapsrc,intdstWidth,intdstHei...

2019-01-07 20:41:55

关于RxJava的基础心法解析

前言我接触Rxjava是在2015年底,已经过去4年的时间了。2016年学习过一阵子RxJava的操作符也做过一些笔记,我们项目的网络请求框架也替换成了Okhttp+Retrofit,所以使用RxJava做线程间切换就非常好用。一开始接触RxJava感觉除了线程切换之外很能发现其实际的作用,因为我感觉自己响应式编程的思想,很难实际运用到开发需求当中去。但我身边有一位前辈使用Rxjava非常溜...

2019-01-07 20:18:18

Android关于微信小程序的唤起和分享

个人博客地址http://dandanlove.com/最近做了一些有关于微信小程序的项目,涉及了微信小程序的唤起和分享微信小程序。所有的内容都来源于微信开放平台publicclassWXProxy{privateIWXAPImShareAPI;/***构造为api*@paramcontext上下文环境*@pa...

2018-11-30 10:57:31

Okhttp拦截器Interceptor学习和使用

前言前年的这个时候我们项目将网络框架替换为okhttp+retrofit,然后我对retrofit源码进行了学习和分享,写了几篇相关的文章同时更新了项目的网络框架。Android网络之Retrofit2.0使用和解析Retrofit2.0中注解使用套路Retrofit2.0+Okhttp不依赖服务端的数据缓存需求是推动任何事物向前发展的动力,这次我们项目需要对网络接口进行加密了,开...

2018-11-25 18:20:53

Android更新资源文件浅思考

前言最近在看《深入探索Android热修复技术原理7.3Q.pdf》时,遇到一个之前没有注意过的问题:关于资源修更新的Android的版本兼容?作为程序员我们需要非常严谨的思路,是什么导致了资源的修复更新需要做版本兼容?这个问题是使我写下这边文章的原因,下边我们带着问题来找答案!!~!这个问题的解释网上答案比较少,在滴滴的插件化框架相关文章VirtualAPK资源篇和阿里云移动热...

2018-10-27 18:07:54

Multidex记录三:源码解析

个人博客地址http://dandanlove.com/Multidex记录一:介绍和使用Multidex记录二:缺陷&解决Multidex记录三:源码解析记录Multidex源码解析为什么要用记录呢,因为我从开始接触Android时我们的项目就在65535的边缘。不久Google就出了multidex的解决方案。我们也已经接入multidex好多年,但我自己还没有接入,知其然...

2018-10-22 10:57:00

Multidex记录二:缺陷&解决

个人博客地址http://dandanlove.com/Multidex记录一:介绍和使用Multidex记录二:缺陷&解决Multidex记录三:源码解析记录Multidex缺陷&解决为什么要用记录呢,因为我从开始接触Android时我们的项目就在65535的边缘。不久Google就出了multidex的解决方案。我们也已经接入multidex好多年,但我自己还没有接...

2018-10-22 10:55:53

Multidex记录一:介绍和使用

个人博客地址http://dandanlove.com/Multidex记录一:介绍和使用Multidex记录二:缺陷&解决Multidex记录三:源码解析记录Multidex介绍和使用为什么要用记录呢,因为我从开始接触Android时我们的项目就在65535的边缘。不久Google就出了multidex的解决方案。我们也已经接入multidex好多年,但我自己还没有接入,所以...

2018-10-22 10:53:59

Android6.0动态权限适配&XMPermissions

Android6.0动态权限简介从Android6.0(API级别23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还让用户可以对应用的功能进行更多控制;例如,用户可以选择为相机应用提供相机访问权限,而不提供设备位置的访问权限。用户可以随时进入应用的“Settings”屏幕调用权限。摘自And...

2018-09-29 18:10:57

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。