自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

eclipse_xu

路漫漫其修远兮 吾将上下而求索

  • 博客(440)
  • 资源 (22)
  • 问答 (1)
  • 收藏
  • 关注

原创 kotlin修炼指南9-Sequence的秘密

点击上方蓝字关注我,知识会给你力量人们经常忽略Iterable和Sequence之间的区别。这是可以理解的,因为即使它们的定义也几乎是相同的。interfaceIterable<outT>{operatorfuniterator():Iterator<T>}interfaceSequence<outT>{operato...

2022-11-14 08:30:29 1478

原创 kotlin修炼指南8—集合中的高阶函数

点击上方蓝字关注我,知识会给你力量Kotlin对集合操作类新增了很多快捷的高阶函数操作,各种操作符让很多开发者傻傻分不清,特别是看一些Kotlin的源码或者是协程的源码,各种眼花缭乱的操作符,让代码完全读不下去,所以,本文将对Kotlin中的集合高阶函数,进行下讲解,降低大家阅读源码的难度,下面看几个用的比较多的高阶函数使用。首先是sumOf,作为一个很方便的求和函数,它可以快速对集合内的某些参数...

2022-11-07 08:30:26 2056

原创 忙里偷闲IdleHandler

点击上方蓝字关注我,知识会给你力量在Android中,Handler是一个使用的非常频繁的东西,输入事件机制和系统状态,都通过Handler来进行流转,而在Handler中,有一个很少被人提起但是却很有用的东西,那就是IdleHandler,它的源码如下。/***Callbackinterfacefordiscoveringwhenathreadisgoingtobloc...

2022-10-31 08:30:01 885

原创 TheRouter 的跨模块依赖注入实现原理

点击上方蓝字关注我,知识会给你力量本文作者——张涛(货拉拉)TheRouter用于跨模块通信设计的ServiceProvider,核心设计思想是参考了SOA(面向服务架构)的设计方式。具体到 Android 侧就是 AIDL 类似的实现。模块化能力支持项:支持跨模块依赖注入支持自定义注入项的创建规则,依赖注入可自定义参数支持自定义服务拦截,单模块mock调试支持注入对象缓存,多次注入 只会new一...

2022-10-26 08:35:31 626

原创 说回 TheRouter

点击上方蓝字关注我,知识会给你力量❝补充:开源仓库地址:https://github.com/HuolalaTech/hll-wp-therouter-android❞没错,货拉拉开源的路由库 —— TheRouter 是我写的大约在17年底到18年初的时候,我经常会讲一些当时做模块化开发的心得和踩坑历程。比如这几篇都是那时候写的:《Android 模块化平台设计》、《优雅移除模块间耦合》、《企业...

2022-10-17 08:30:33 681

原创 Android-Widget重装上阵

点击上方蓝字关注我,知识会给你力量如果要在Android系统中找一个一直存在,但一直被人忽略,而且有十分好用的功能,那么Widget,一定算一个。这个从Android 1.x就已经存在的功能,经历了近10年的迭代,在遭到无数无视和白眼之后,又重新回到了大家的视线之内,当然,也有可能是App内部已经没东西好卷了,所以大家又把目光放到了App之外,但不管怎样,Widget在Android 12之后,都...

2022-09-05 08:30:12 1795

原创 货拉拉 Android H5离线包原理与实践

点击上方蓝字关注我,知识会给你力量背景在实际业务中,app中的H5页面使用的场景越来越多,在货拉拉app中也存在大量的H5页面,比如金秋拉货节、余额、车型介绍页等,加载速度成为了困扰用户的一个痛点。为此我们决定引入离线包方案,另外还需要解决传统离线包方案不灵活,体积大,不易管理,不易降级等问题,我们设计和开发一套H5离线包系统,经过几个sdk版本的迭代,目前货拉拉H5离线...

2022-07-25 09:30:18 2131 1

原创 货拉拉 Android 动态资源管理系统原理与实践(下)

点击上方蓝字关注我,知识会给你力量so资源动态化方案so资源打包问题在打包so资源的过程中,我们遇到了如下问题。如何移除apk中的so文件,并将他们收集起来?如何将多个so文件压缩打包,并生成对应的信息?如何保证第三方sdk缺少so文件时,不崩溃?so资源打包解决方案移除并收集apk中的so文件看到移除 so文件可能有些同学会问,这不是只要在as中删除libs目录就搞定了...

2022-07-18 08:25:28 1618

原创 货拉拉 Android 动态资源管理系统原理与实践(上)

点击上方蓝字关注我,知识会给你力量❝jary,货拉拉高级客户端工程师,目前负责货拉拉App Android端稳定性提升,包体积优化相关工作。❞前言随着公司业务的扩展,货拉拉用户端apk包的体积也不断变大,过去一年,用户端android组进行了大量的瘦身工作,取得了较为显著的成果。再使用常规方法,已经很难优化包体积了。我们可以把一些使用频率相对较低的资源不打包进apk,并在...

2022-07-12 08:30:04 897

原创 重走Flutter状态管理之路—Riverpod最终篇

点击上方蓝字关注我,知识会给你力量最后一篇文章,我们在掌握了如何读取状态值,并知道如何根据不同场景选择不同类型的Provider,以及如何对Provider进行搭配使用之后,再来了解一下它的一些其它特性,看看它们是如何帮助我们更好的进行状态管理的。Provider Modifiers所有的Provider都有一个内置的方法来为你的不同Provider添加额外的功能。它们可...

2022-06-06 08:30:02 1253

原创 我悟出了公众号取名的套路

点击上方蓝字关注我,知识会给你力量疫情到现在,已经两个多月了,每天看着新闻的报道,看着各大厂的公众号,每天都很充实,好像看了很多东西,但又好像什么也没看,眼瞅着人家的公众号阅读量蹭蹭蹭的上涨,1w+、10w+,再看看自己的公众号零零碎碎的阅读量,我不禁陷入了沉思——为什么我的公众号没人看!我觉得是时候来分析一下了,让我们来看看,如何打造一篇阅读量高的公众号文章标题。作为一...

2022-05-30 08:30:21 728 1

原创 重走Flutter状态管理之路—Riverpod进阶篇

点击上方蓝字关注我,知识会给你力量前面一篇文章,我们了解了如何正确的去读取状态值,这一篇,我们来了解下不同的Provider都有哪些使用场景。这篇文章,我们将真正的深入了解,如何在不同的场景下,选择合适的种类的Provider,以及这些不同类型的Provider,都有哪些作用。不同类型的ProviderProvider有多种类型的变种,可以用于多种不同的使用场景。在所有这...

2022-05-23 08:30:51 1473

原创 重走Flutter状态管理之路—Riverpod入门篇

点击上方蓝字关注我,知识会给你力量熟悉我的朋友应该都知道,我好几年前写过一个「Flutter状态管理之路」系列,那个时候介绍的是Provider,这也是官方推荐的状态管理工具,但当时没有写完,因为写着写着,觉得有很多地方不尽人意,用着很别扭,所以在写了7篇文章之后,就暂时搁置了。一晃时间过了这么久,Flutter内部依然没有一个能够碾压一切的状态管理框架,GetX可能是,...

2022-05-16 08:30:00 2311 2

原创 它来了!Flutter3.0新特性全接触

点击上方蓝字关注我,知识会给你力量又到了Flutter稳定版发布的时候了--我们非常自豪地宣布Flutter 3! 仅仅三个月前,我们宣布Flutter支持Windows。今天,我们很高兴地宣布,除了Windows之外,Flutter现在在macOS和Linux上也是稳定的!img感谢我们的Flutter贡献者的辛勤工作,我们已经合并了5248个pull requests...

2022-05-13 08:30:00 7915

原创 它来了!Flutter3.0发布全解析

点击上方蓝字关注我,知识会给你力量我们在手机、桌面和网络上进行多平台UI开发的历程达到了顶峰。我们很高兴地宣布,作为谷歌I/O主题演讲的一部分,我们今天推出了Flutter 3。Flutter 3完成了我们从以移动为中心到多平台框架的路线图,提供了对macOS和Linux桌面应用的支持,以及对Firebase集成的改进,新的生产力和性能特性,并支持Apple Silico...

2022-05-12 07:15:06 1659

原创 kotlin修炼指南7之泛型

点击上方蓝字关注我,知识会给你力量Kotlin在Java的基础上,同样对泛型语法进行了拓展,所以很多Kotlin开发者,看着源码中的一堆in、out和*,感觉非常不知所措。其实,只要了解了Java泛型,那么Kotlin泛型就迎刃而解了。首先,我们来想想,我们为什么需要泛型。泛型是面向对象编程的一个非常重要的方面,它的出现,是多态的核心实现,简单的说,就是可以在不同的对象类...

2022-05-05 08:30:00 800

原创 为了看Flutter到底有没有人用我竟然

点击上方蓝字关注我,知识会给你力量Flutter这个东西出来这么久了,到底市场占有率怎么样呢?为了让大家了解这一真实数据,也为了让大家了解当前Flutter在各大App中的使用情况,我今天下载了几百个App,占了手机将近80G空间,就为了得出一个结论——Flutter,到底有没有人用。首先,我在vivo应用市场中,下载了4月11日软件排行榜中的所有App,总计230个,再...

2022-04-19 08:30:00 156

原创 FlutterComponent最佳实践之动画那些词儿

点击上方蓝字关注我,知识会给你力量什么是动画,从数学上来说,动画指的是一个属性的变换过程,实际上,就是一个函数,将一个属性值变成另一个属性值的过程。从现实上来说,动画实际上就是将一系列静态的图片,在一定时间内快速切换,从而利用人眼的视觉暂留效应形成动态的画面。对于现代移动设备来说,保持流畅体验的标准是60帧每秒,即每秒要切换60张静态图,这每一帧,在Flutter中被称之...

2022-04-11 08:30:00 1060

原创 FlutterComponent最佳实践之角对齐

点击上方蓝字关注我,知识会给你力量Flutter布局千千万,虽然Box模型相比于原生布局来说,在大部分场景下都是更加方便了,但是有些场景,确实还是ConstraintLayout来的更方便一点,例如下面这个场景:「将不定长度的角标,放置于容器右上角,同时角标中心和容器角顶点对齐」,这其实是一个常见的需求,几乎在UI中的角标场景下都会用到,只不过大部分时候,直接写死一个差不...

2022-04-06 08:30:00 1120

原创 闲言碎语—第六期

点击上方蓝字关注我,知识会给你力量好久没有碎碎念了,在家闭关两礼拜了,终于有点时间来思考思考了。最近的计划最近正在着手做一些Flutter相关的工作,顺便整理了一套「Flutter兵法」,看完保证让你在产品面前横着走。做这些东西的目的,实际上是自己在学习的过程中,对技术方案和架构的思考,同时,学习现有的方案,从而归纳出一套最佳实践,不仅对我是一个提高,也对他人在实践过程中...

2022-03-31 08:48:19 1155

原创 FlutterComponent最佳实践之沉浸式

点击上方蓝字关注我,知识会给你力量沉浸式状态栏,在Android开发中是一个比较麻烦的地方,因为不同的机型和版本兼容问题太多了,API变化也快,但是到了Flutter,一切问题都解决了,因为整个区域都是Skia绘制的,要什么都行,随便来。❝以上问题只针对Android,因为iOS没这问题。。。默认就是沉浸式,只能说,Google的设计师,真是不懂行情。❞我们来看下iOS的...

2022-03-24 08:30:00 3612

原创 FlutterComponent最佳实践之取色我来实现

点击上方蓝字关注我,知识会给你力量构建个性化的UI是非常酷的。你的应用程序不需要对每个人都是一样的。一个轻松定制你的应用程序的方法是,从客户资料/封面照片中提取调色板。它是这样做的。首先,我们从一个网址上加载图片到byte list中。imageBytes=(awaitNetworkAssetBundle(Uri.parse(photo)).load(photo))...

2022-03-23 08:30:00 3368

原创 FlutterComponent最佳实践之TabbarIndicator

点击上方蓝字关注我,知识会给你力量TabBar是UI中非常常用的一个组件,Flutter提供的TabBar几乎可以满足我们大部分的业务需求,而且实现非常简单,我们可以仅用几行代码,就完成一...

2022-03-17 08:30:00 4433 1

原创 Flutter混编工程之Font桥接

点击上方蓝字关注我,知识会给你力量在混编开发中,我们经常遇到要全局替换当前字体的需求,在Native开发中,我们通常会加载Asset或者下载的字体文件,那么在Flutter中,如何直接使用...

2022-03-16 08:30:00 2140

原创 Flutter布局指南之Box套盒子

点击上方蓝字关注我,知识会给你力量对于写过Flutter的开发者来说,我敢肯定,大部分的开发者都不能准确预测这次Hot Reload之后,布局是否是自己想要的结果。Flutter的布局与N...

2022-03-13 10:00:00 3181

原创 Flutter布局指南之谁动了我的Key

点击上方蓝字关注我,知识会给你力量Key用来干嘛Flutter中的Key,一直都是作为一个可选参数在很多Widget中出现,那么它到底有什么用,它到底怎么用,本篇文章将带你从头到尾,好好理...

2022-03-08 08:30:00 2501

原创 FlutterComponent最佳实践之Shadow怎么就这么简单

点击上方蓝字关注我,知识会给你力量设计三件宝,模糊阴影和圆角。这些在原生开发中被设计摧残N年的东西,在Flutter中,居然是轻而易举的实现。添加Shadow在Flutter中,Conta...

2022-03-03 08:30:00 2603

原创 FlutterComponent最佳实践之色彩管理

点击上方蓝字关注我,知识会给你力量Flutter中关于色彩和主题的内容非常之多,我们需要理清不同的Color之间的异同,才能更好的开发Flutter应用。MaterialColor在The...

2022-03-02 08:30:00 2539

原创 Flutter布局指南之深入理解BoxConstraints

点击上方蓝字关注我,知识会给你力量强烈建议先看下这篇文章——Flutter你竟是这样的布局不管你是Android开发,还是Flutter开发,当你开始使用Flutter茫茫多的Widget...

2022-02-26 17:46:55 2039

原创 Flutter混编工程之轻量化改造

点击上方蓝字关注我,知识会给你力量轻量化改造的意义轻量级Flutter渲染引擎的核心是将Flutter作为一个「渲染器」,它的唯一功能就是将Native端传来的数据绘制成相应的界面,其它所...

2022-02-25 08:30:00 1851

原创 不懂设计的产品不是好开发

点击上方蓝字关注我,知识会给你力量通过这篇文章,我将向大家介绍下关于设计的一些基本知识,让广大开发者在平时的开发中,可以更好的和设计、产品合作(撕逼)。1.Color System1.1 ...

2022-02-17 08:30:00 2263

原创 Flutter混编工程之Engine复用

点击上方蓝字关注我,知识会给你力量Flutter混编上最大的一个问题,就是Engine的使用,从内存和性能,以及混合栈等多个层面上的综合考虑,业界给出了很多不同的Engine管理方案,就官...

2022-02-15 08:30:00 2812

原创 Flutter混编工程之高速公路Pigeon

点击上方蓝字关注我,知识会给你力量前面我们讲到了Flutter与原生通信使用的是BasicMessageChannel,完全实现了接口解耦,通过协议来进行通信,但是这样的一个问题是,多端都...

2022-02-11 08:30:00 2626

原创 Flutter混编工程之通讯之路

点击上方蓝字关注我,知识会给你力量这个系列开始,我们将从「能用的Flutter」到「可用的Flutter」的迁移过程来讲解如何在实际项目中更好的使用Flutter,下面是第一篇。对于混编工...

2022-02-10 08:30:00 2205

原创 闲言碎语—年终总结

点击上方蓝字关注我,知识会给你力量2021的年终总结,虽迟但到。其实好久之前就想写一写了,但每次打开这个文档,都不知道要从哪里开始写,就当是流水账吧。今年最大的收获——可爱的儿子。经历了年...

2022-01-29 08:34:28 1751 2

原创 LiveData Coroutine Builder的5个诡计

点击上方蓝字关注我,知识会给你力量这个系列我做了协程和Flow开发者的一系列文章的翻译,旨在了解当前协程、Flow、LiveData这样设计的原因,从设计者的角度,发现他们的问题,以及如何...

2022-01-19 08:30:00 3312

原创 让Flows感知生命周期

点击上方蓝字关注我,知识会给你力量这个系列我做了协程和Flow开发者的一系列文章的翻译,旨在了解当前协程、Flow、LiveData这样设计的原因,从设计者的角度,发现他们的问题,以及如何...

2022-01-14 08:30:00 3047

原创 一篇掌握LiveData transformations

点击上方蓝字关注我,知识会给你力量这个系列我做了协程和Flow开发者的一系列文章的翻译,旨在了解当前协程、Flow、LiveData这样设计的原因,从设计者的角度,发现他们的问题,以及如何...

2022-01-10 08:50:48 3286

原创 谁能取代Android的LiveData- StateFlow or SharedFlow?

点击上方蓝字关注我,知识会给你力量这个系列我做了协程和Flow开发者的一系列文章的翻译,旨在了解当前协程、Flow、LiveData这样设计的原因,从设计者的角度,发现他们的问题,以及如何...

2021-12-29 08:30:00 1985

原创 响应式架构最佳实践——MVI

点击上方蓝字关注我,知识会给你力量这个系列我做了协程和Flow开发者的一系列文章的翻译,旨在了解当前协程、Flow、LiveData这样设计的原因,从设计者的角度,发现他们的问题,以及如何...

2021-12-22 08:28:12 1808

ListViewAcyncLoader

ListViewAcyncLoader

2015-04-03

IntentServiceTest

IntentServiceTest、

2015-03-31

ASM_2_50 android screen monitor

android screen monitor

2014-11-25

ASM android screen monitor

ASM android screen monitor

2014-11-25

ASM_2_50手机屏幕监视工具

ASM_2_50 Android Screen Monitor Android Screen Monitor

2014-11-25

android动画图标

android动画图标I am not a gif maker,I am a developer

2014-10-31

Android动画机制全解析source

Android动画机制全解析source

2014-08-06

4.2到4.4后栈结构变化

4.2到4.4后栈结构变化

2014-05-23

Python Standard Library

Python Standard LibraryPython Standard Library

2014-05-20

50.Android.Hacks

50.Android.Hacks

2014-05-12

通过正则表达式生成数据

通过正则表达式生成满足条件的随机数据

2014-03-20

path菜单控件封装

path菜单控件封装

2014-01-03

android sdk r21 part2

android sdk r21 part2

2013-03-15

android sdk r21 part1

android sdk r21

2013-03-15

Access实例

Access实例

2013-03-14

android UI

android ui 设计

2013-03-14

VBA代码格式化工具

在VBA代码中点击右键选择Indent就可以选择格式化相应的代码

2012-11-22

电信光猫与TP-Link无线路由器连接设置.doc

电信光猫与TP-Link无线路由器连接设置.doc

2012-11-11

FlexPaper源码

FlexPaper源码和修改后的源码,包括去logo等功能

2012-11-06

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除