自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 带着问题学,协程到底是什么?

前言随着kotlin在Android开发领域越来越火,协程在各个项目中的应用也逐渐变得广泛但是协程到底是什么呢?协程其实是个古老的概念,已经非常成熟了,但大家对它的概念一直存在各种疑问,众说纷纷有人说协程是轻量级的线程,也有人说kotlin协程其实本质是一套线程切换方案显然这对初学者不太友好,当不清楚一个东西是什么的时候,就很难进入为什么和怎么办的阶段了本文主要就是回答这个问题,主要包括以下内容1.关于协程的一些前置知识2.协程到底是什么?3.kotlin协程的一些基本概念,挂起函数,C.

2021-06-15 21:13:52 24310 23

原创 到了40的程序员,都何去何从

什么是反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为Java的反射机制。java反射机制提供的功能:在运行时判定任意一个对象所属的类在运行时构造任意一个类的对象在运行时判定任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法反射应用场景操作因访问权限限制的属性和方法 如private属性和方法,又如在android开发中.

2021-05-31 13:42:56 1466 8

原创 再见!杭州!再见!阿里巴巴

最近和在北京的朋友老冯聊天,老冯说他要离开阿里了,我和老冯是在14年北京租房时认识的,当时老冯招租室友,我加了微信,约看房,后来才知道他也是个程序员,但是因为我那时没啥钱,最后和我另外一些做开发朋友一起合租了。虽然没有一起合租,但是都是程序员,都是一个方向的开发,也经常和老冯一起玩。关于老冯的详细介绍,可以看去年写的这篇文章《在阿里工作几年,女友跑路,晋升无望,买不起房,我活成了一个笑话~》当时我建议老冯跳槽,但是老冯觉得再自己最落魄的时候去市场跳,没有优势,所以想再争取升了P7,然后再...

2021-05-27 16:34:57 1084 8

原创 kotlin 协变、逆变 - 猫和鱼的故事

网上找的一段协变、逆变比较正式的定义:逆变与协变用来描述类型转换后的继承关系,其定义:如果 A、B 表示类型,f(⋅) 表示类型转换,≦ 表示继承关系(比如,A≦B 表示 A 是由 B 派生出来的子类): 当 A ≦ B 时,如果有 f(A) ≦ f(B) ,那么 f 是协变的; 当 A ≦ B 时,如果有 f(B) ≦ f(A) ,那么 f 是逆变的; 如果上面两种关系都不成立,即 (A) 与 f(B) 相互之间没有继承关系,则叫做不变的。java 中可以通过如下泛型通配符以支持协变和逆变:.

2021-06-23 16:09:36 254

原创 Kotlin差异化分析,let,run,with,apply及also

作用域函数是Kotlin比较重要的一个特性,共分为以下5种:let、run、with、apply 以及 also,这五个函数的工作方式可以说非常相似,但是我们需要了解的是这5种函数的差异,以便在不同的场景更好的利用它。 读完这篇文章您将了解到:什么是Kotlin的作用域函数?let、run、with、apply 以及 also这5种作用域函数各自的角色定位;5种作用域函数的差异区分;何时何地使用这5种作用域?Kotlin的作用域函数Kotlin 标准库包含几个函数,它们的唯一目的是在对象.

2021-06-22 17:10:00 358

原创 再见!深圳!再见!腾讯!

前面几天,和老朋友小A约了一块吃饭,他告诉我他要离开鹅厂了,也要离开深圳了!回来后,诸多心情复杂。于是写下的这篇文章。小A和我一样来自湖南农村,只不过他本科毕业后就来到了深圳。去了深圳知名大厂腾讯做了一名码农,成为了同龄人眼中的佼佼者,让很多同学和朋友无比羡慕,鹅厂哇,BAT光环哇,小A那时春风得意马蹄疾,一日打卡深圳各个知名地点。无忧无虑,深圳以无比包容的双手,让年轻一代的毕业生,在这里展翅飞翔。“来了,就是深圳人”,这个口号贯穿于城市各个地方。蛇口工业区的:时间就是金钱 效率就是生命。激励无数.

2021-06-21 17:05:45 230 2

转载 Android 使用 Kotlin 重写 Gradle 文件

概述众所周知,我们在 Android Studio 是使用 Gradle 来编译的,Gradle 是一种基于 Groovy 语言的构建工具,我们平时看到的 build.gradle 中的语法结构其实就是 Groovy 提供的 DSL 功能。DSL 的全称是领域特定语言(Domain Specific Language),它是编程语言赋予开发者的一种特殊能力,通过它我们可以编写出一些看似脱离其原始语法结构的代码,从而构建出一种专有的语法结构。毫无疑问,Kotlin 是支持 DSL 的,而且 Gradl.

2021-06-18 17:20:45 593 5

原创 深入浅出协程、线程和并发问题

"协程是轻量级的线程",相信大家不止一次听到这种说法。但是您真的理解其中的含义吗?恐怕答案是否定的。接下来的内容会告诉大家协程是如何在 Android 运行时中被运行的,它们和线程之间的关系是什么,以及在使用 Java 编程语言线程模型时所遇到的并发问题。协程和线程协程旨在简化异步执行的代码。对于 Android 运行时的协程,lambda 表达式的代码块会在专门的线程中执行。例如,示例中的 斐波那契 运算:// 在后台线程中运算第十级斐波那契数 someScope.launch(Dispatc

2021-06-18 16:07:37 162 2

原创 Android谈起泛型,大家都很佛性

说起泛型,不用想,肯定都是用的佛性,可用可不用四舍五入下就是不用。可现实是,你不用,我不用,可总有“别人家的孩子”在用,你说气不气。为何有了接口,我们还需要使用泛型呢?因为即便使用了接口,对于程序的约束还是太强。因为一旦指明了接口,就会要求我们的代码使用特定的接口,而我们的目的是希望编写出更通用的代码,是要使代码能够应用于某种不确定的类型,而不是一个具体的接口或类。这是《Java编程思想》说的,可不是我吹的,香不香看了才知道。本文主要涉及下面几个方面的介绍:泛型类泛型的目的是用来指定要持有什么类

2021-06-17 19:54:15 339 6

原创 发现不一样的Kotlin多方位处理协程的异常

Kotlin 中的协程已经成为在网络请求中比较常用的一种方式,除了正常请求外,我们同样需要处理请求中的异常情况,本篇文章将处理协程中的异常分为以下几个部分:一、try-catch1.1 try-catch基础使用1.2 什么情况下try-catch会无效?1.3 什么是协程的结构化并发?二、CoroutineExceptionHandler2.1 CoroutineExceptionHandler的介绍2.2 CoroutineExceptionHandler的使用2.3 Coroutin.

2021-06-15 16:34:23 9968 7

原创 2021Android核心基础面试题解析

##1、四大组件是什么?**1)Activity:**用户可操作的可视化界面,为用户提供一个完成操作指令的窗口。一个Activity 通常是一个单独的屏幕,Activity 通过 Intent 来进行通信。Android 中会维持一个Activity Stack,当一个新 Activity 创建时,它就会放到栈顶,这个 Activity 就处于运行状态。**2)Service:**服务,运行在手机后台,适合执行不需和用户交互且还需长期运行的任务。**3)ContentProvider:**内容提供者.

2021-06-11 21:39:06 1389 4

原创 探索Flutter & 腾讯移动通讯 TPNS

Flutter TPNS1. 基本接入1.1 环境配置小编在接入 Flutter TPNS 时,需要在 Flutter 和 Android 两端进行插件的安装配置;Flutter在工程 pubspec.yaml 中 dependencies 下引入 tpns_flutter_plugin 插件;dependencies: flutter: sdk: flutter tpns_flutter_plugin: git: url: https://gith.

2021-06-11 14:07:18 1955 10

原创 鸿蒙OS到底是不是Android套皮?(不多说,看源码!)

人生就像一场旅行,不必在乎目的地。在乎的,是沿途的风景以及看风景的心情。#正文 某人曾说「没有调查就没有发言权」最近鸿蒙系统关注度好高,支持与反对、看好和看衰、「自主的全场景分布式系统」和「Android套壳」各执一词,吵的不可开交。作为十八流码农,本着了解行业动态、体验HarmonyOS开发流程、找出HarmonyOS的特性与不足、看看是否有新的机会,也为了看看吵得不可开交的诸位谁说得对,特地在这个鸿蒙系统马上正式开放升级的时间点,开发体验了一番。HarmonyOS到底怎么实现的——扒.

2021-06-10 20:17:59 757 7

原创 Android优化———内存优化

Java虚拟机Java内存模型虚拟机栈( 线程私有 ):局部变量表、操作数栈、动态链接、方法出口等信息堆( 线程共享 ):实例对象方法区( 线程共享 ):类信息,常量,即时编译器编译后的代码程序计数器( 线程私有 ):字节码行号指示器,记录当前线程执行到多少行本地方法栈( 线程私有 ):和虚拟机栈类似,两者的区别就是虚拟机栈是为虚拟机执行java方法服务,本地方法栈为虚拟机执行native方法服务 。程序计数器线程计数器中如果正在执行java方法,计数器记录的是当前指令的地址,如果是

2021-06-10 14:33:28 168 3

原创 程序员中年危机,如何安全度过?

###写在前面的话负责的团队去年发展不错,需要扩大规模,有2个招聘名额,一个高级,另一个是中级,都是Java技术体系。最近虽然在家办公,但依然按照计划在推进招聘的计划,我要做的事情,就是挖掘认才,进行技术面试,把第一道关。然而,在招聘过程中,遇到一些人,也听说一些事情,对“程序员的中间危机”有了不一样的感触,于是决定还是写下来,分享给大家。##中年危机的由来其实,中间危机,并不是程序员的专属,因为人到中年,上有老下有小,并且已经过了年轻力壮的青年时代,无论怎么说,怎么比,中年都是鸭梨最大的一个人生.

2021-06-08 17:38:36 223 4

转载 鸿蒙应用开发Ability和Android的activity不同之处

Ability概述Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含多个Ability),HarmonyOS支持应用以Ability为单位进行部署。Ability可以分为FA(Feature Ability)和PA(Particle Ability)两种类型,每种类型为开发者提供了不同的模板,以便实现不同的业务功能。FA支持Page Ability:Page模板是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关页面,

2021-06-08 15:08:49 655 2

原创 见识不一样的Flutter 之原生混合开发

开始之前,我们需要了解一下 flutter 的四种项目结构application:纯 flutter 应用plugin:基于原生的 flutter 插件package:纯 dart 插件module:原生上集成 flutter 模块一、将 flutter 集成到 Android 项目在原生应用的目录下运行命令:flutter create -t module --org com.example flutter_lib会在目录下面生成如下文件: 我们需要将生成 flutter mo.

2021-06-07 20:48:46 443 6

原创 鸿蒙操作系统的前世今生

6月2号,在万众期待中 ,华为的鸿蒙操作系统及全场景新品发布会如期召开,我们在见证了第一个国产操作系统HarmonyOS 2.0正式面向市场的同时,也见证了第一个国产开源操作系统OpenHarmony 2.0的正式发布!相信很多人在自豪的同时会感到疑惑,今天发布的鸿蒙操作系统较以往有何不同?HarmonyOS和OpenHarmony到底是什么关系?今天我将为大家一一解惑!图1 HarmonyOS 2.0和OpenHarmony 2.0的发布鸿蒙操作系统发展沿革鸿蒙这个名字意为“万物起源”,同时.

2021-06-07 15:57:35 2975 3

原创 Android 虚拟机与类加载机制

ART 和 DalvikDalvik虚拟机 - Android5.0之前1.Android中的虚拟机是Dalvik/ART2.每个应用程序都对应有一个单独的Dalvik虚拟机实例。3.Dalvik虚拟机实则也算是一个Java虚拟机,只不过它执行的不是class文件,而是dex文件。4.Jvm是的指令集是基于堆栈。Dalvik的指令集是基本寄存器的基于栈的虚拟机 - JVM对于基于栈的虚拟机来说,每一个运行时的线程,都有一个独立的栈。栈中记录了方法调用的历史,每有一次方法调用,栈中便会多一个.

2021-06-05 22:18:44 237 10

原创 Kotlin 中使用 Hilt 的开发实践

Hilt 是基于 Dagger 开发的全新的依赖项注入代码库,它简化了 Android 应用中 Dagger 的调用方式。本文通过简短的代码片段为您展示其核心功能以帮助开发者们快速入门 Hilt。配置 Hilt如需在应用中配置 Hilt,请先参考 Gradle Build Setup。完成安装全部的依赖和插件以后,仅需在您的 Application 类之前添加 @HiltAndroidApp 注解即可开始使用 Hilt,而无需其它操作。@HiltAndroi.

2021-06-05 19:59:32 615

原创 HarmonyOS 并不想替代 Android,它的野心比你想象中更大

在宗教艺术中,我们常常能看到一座中途停工的高塔。它被称作「巴别塔」。宗教故事里,巴别塔是人类联合而造,希望能够通向天堂的高塔。但上帝为了阻止人类这一计划,让人类不再说统一的语言,致使相互间无法沟通。因此巴别塔计划只好作罢。语言的隔阂,阻碍了人类的合作。该故事后来也多被寓意语言、沟通的重要性。实际上,智能设备也有自己的语言。比如手机的语言可能是 Android、iOS,电脑的语言可能是 Windows、macOS,电视的语言可能是 tvOS、GoogleTV…… 使用不同「语言」的设备,在联接、协作时

2021-06-04 16:45:26 758 3

原创 鸿蒙能成为世界第三的操作系统吗?

6 月 2 日,鸿蒙又一场发布会如约而至。从诞生之初的「PPT 系统」、「按揭开源」,到源码公布后的「套皮安卓」、「抄袭可耻」,再到如今的立场屁股之争,鸿蒙用两年不到的时间搅动了天下风云。Go 语言之父 Rob Pike 早在 2000 年的时候就说过,“系统软件研究不再有意思了。”而在那个年代,Android、iOS 系统尚未问世,第一支 Symbian 手机也刚上市,没有人能预料到后来的移动操作系统会有沧海桑田般的巨变。关于鸿蒙的技术原理和底层实现,我没有资格过多置喙。对于开源,我的态度向来很明.

2021-06-04 14:02:24 1307 4

原创 揭秘Android常用三方框架源码-okhttp

okhttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso) 用于替代HttpUrlConnection和Apache HttpClient。作为常用框架,无论是从使用还是面试方面,我们都有必要了解其源码实现,不能仅停留在api的调用层面。在讲解其源码之前,先来简单回顾一下okhttp的使用。一、基本使用1.1 导入通过gradle引入依赖implementation 'com.squareup.okhttp3:okhttp.

2021-06-03 21:01:30 180 2

原创 200 字讲明白 鸿蒙是什么、鸿蒙不是什么

老婆:“晚上 8 点鸿蒙就要正式发布了,我的 P40 Pro 可以升级鸿蒙操作系统了。”我:“恭喜啊,我还在等 P50 或者苹果的 iPhone13。”老婆:“你说,鸿蒙的事都快吵两年了,你学计算机的,你来讲两句,鸿蒙到底是什么,它是不是所谓的安卓?”我:“这个问题问的好,一般看到有人在争论鸿蒙是不是安卓的时候,我都不想看,直接离开,因为我觉得这种争论毫无意义。”老婆:“怎么说?”我:“事实上,要搞清楚一件事情的本质其实很简单,就是在一个系统中,不断筛选和剔除系统的成分,当去除某个成分后,这个系.

2021-06-03 16:09:12 614 5

转载 什么?有人整理了Kotlin 集合函数锦集!!

自从Kotlin官宣为Android开发首选语言后,大家也都正计划很快转向Kotlin或者已经完全转向Kotlin,接下来我们直奔主题了。我们在Android应用程序中研发过程中,对于 lists, maps, sets等集合的处理会耗费很多精力,其实有很多Kotlin集合函数,可以让我们事半功倍。接下来,我们将了解许多Kotlin集合函数。你可以作为Kotlin集合函数的备忘录收藏起来。过滤数组重复的字符串有很多方法可以从数组中删除重复的字符串://过滤数组重复的字符串fun removeDu

2021-06-02 21:51:06 395 1

原创 某大厂程序员爆料:和一个俄罗斯大美女相亲,不要彩礼,自带嫁妆,只是担心俄罗斯女人老得太快!

一个百度程序员发帖自爆了一个特殊的异国相亲故事:五一相亲了一个俄罗斯妹子,妹子比楼主小八岁,会三国语言,在广州一所二本学校做双语教师。妹子极为漂亮,身高178,皮肤特别好,白皙,素颜纯天然。更重要的是妹子想留在中国,没有彩礼,家里还能给她一笔钱,两人可以一起付七成首付,还贷忽略不计。楼主目前很满意,只是担心俄罗斯民族老得快,胖得也快,十年后怎么办?俄罗斯妹子的颜值世界闻名,网友纷纷大呼“羡慕”,楼主厉害,战斗民族都能拿下!楼主赶紧给大家分享分享怎么才能和俄罗斯妹子相亲,用的什么平台,别藏着掖着了。

2021-06-02 16:15:10 404 2

原创 Android 性能优化总结

Android 性能优化总结性能的优化是一个老生常谈的点,也是一个比较重要的点。做过一点性能优化的工作,现在对工作中的优化点做一个总结。如有错误,还请指正。有哪些方面需要优化在平时的优化过程中我们需要从哪几个点来优化呢?其实我们平时自己一定也用过软件,在使用软件的过程中有没有什么想吐槽的呢?“这个 app 怎么还没下载完!”、“太卡了吧!”、“图片怎么还没加载出来!”、“怎么刚进去就卡了!”、“这么点了一下就退出了!”等等,是不是有这样的想法?这些想法其实包含了我们今天要说的内容,就是从哪些方面来优

2021-06-02 15:23:20 122 2

原创 女友加班发自拍,男友用几行代码发现惊天秘密...

前面520是一年几度的重要日子,青男俊女们全城出动,鲜花遍地,朋友圈也开启了晒礼物大赛。在这个重要的日子里,大多数文章会教你如何送礼物,如何约会,如何虐狗。我却不一样,我今天要教你如何识别海王,如何摘绿帽!真实案例一哥们在这天早早收班,下班就准点溜了,准备回家跟女友一起浪漫地渡过这个重要的夜晚。可谁料女朋友跟他说今晚要加班,可能会比较晚回家。哥们情绪有点低落,准备回家打几把王者。在回家的路上,他收到女朋友发来的一张自拍照,并且嘱咐他要乖乖的在家等她回去。这张照片(非原照片,看官们别想入非非!).

2021-06-02 13:39:55 325 4

转载 Android修炼系列,事件分发从手写一个嵌套滑动框架开始

先放了一张效果图,是一个嵌套滑动的效果。在说代码之前,可以先看下最终的NestedViewGroup XML结构,NestedViewGroup内部包含顶部地图 MapView和滑动布局LinearLayout,而LinearLayout布局的内部即我们常用的滑动控件 RecyclerView,在这里为何还要加层LinearLayout呢?这样做的好处是,我们可以更好的适配不同滑动控件,而不仅仅是将NestedViewGroup与RecyclerView 耦合住。 <com.blog.a.

2021-06-01 19:56:09 87

转载 程序员在中年危机到来之前,是该努力提升自己竞争力还是提前谋划另谋出路?

#####最近在网上看到这样一个帖子:本人 26 岁,帝都小 4 年经验移动开发程序员,没有大厂经验,学历也没优势,但是真的很喜欢程序员这个行业。感觉 30 岁之后的职业发展很艰难,想问一下各位,对以后是怎么打算的。对我自己来说纠结的点在于,是趁这几年另谋出路,还是努力提升自己的技术,提高自己的行业竞争力。很焦虑,在帝都安家无望,回十八线小城市,没资源没人脉,没有经商头脑,不知道做什么。老家河北的,所以也不打算去其它互联网相对发达但压力小的城市。如果各位大佬,有什么在十八线小城市养家的门路,希.

2021-06-01 13:45:58 150

转载 分享Java进阶-反射机制的详细学习

什么是反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的以及动态调用对象的方法的功能称为Java的反射机制。java反射机制提供的功能:在运行时判定任意一个对象所属的类在运行时构造任意一个类的对象在运行时判定任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法反射应用场景操作因访问权限限制的属性和方法 如private属性和方法,又如在android开发中.

2021-05-31 21:43:01 96 1

原创 Flutter 入门与实战:仿一个微信价值几个亿的页面

网传微信支付页面的第三方链接一个格子需要广告费1一个亿,微信支付页非常适合做功能导航,本篇使用 ListView和 GridView 模仿了微信支付的页面,同时介绍了如何装饰一个组件的背景和边缘样式。左侧是微信支付的界面, 右侧是开发完成后的效果,图标是从 iconfont 上下载的。首先介绍一下本篇涉及到的组件。带装饰效果的 Container实际过程中我们经常会遇到一个容器需要额外的样式,例如圆角,背景色等。在 Flutter 中,对于各种容器都有一个 decoration 的属性,可以用..

2021-05-30 21:22:53 258 1

原创 分享Android KTX + Kotlin协程 组合使用

在android中请求权限,一般使用requestPermissions和onRequestPermissionsResult组合使用来完成。但是这种方式有个很大的弊端,会让代码分割导致代码可读性变差。经测试改方式ktx调用registerForActivityResult只能在activity或者fragment,初始化时调用,不能用在点击的时候触发使用添加依赖 implementation "androidx.activity:activity-ktx:1.2.3" implementation

2021-05-28 15:19:28 832 11

原创 Android开发之MVVM模式实践:协程与网络请求的结合

前言大家好,我是小益!在经过前两章对协程的介绍后,我们终于又回到了MVVM的封装。协程在Android开发中最常用的场景应该是网络请求了,其次是一些使用Thread的场景,本章内容我们将着重介绍如何将协程与网络请求结合。一、viewModelScope的使用自行创建协程var uiScope = CoroutineScope(SupervisorJob() + Dispatchers.Main)在上述代码中我们创建了一个协程并指定了这个协程是在主线程中工作,之后我们就可以使用前...

2021-05-27 15:41:01 713 2

原创 Kotlin 内联类 inline class请了解一下

最近在做开发的工作中,意外发现了kotlin官方承认的一个内联类的bug。在理解这个bug产生的原因的过程中,我秉承着打破砂锅问到底的决心,竟然顺势学习了一波jvm字节码。收获颇丰,于是便开始着手写下这篇文章和大家分享一下这个学习的过程。这篇文章很长,但是耐心看完,我相信大家肯定会觉得很值。听说inline class很屌事情是这样的。团队的领头大哥上周给我安利了一波kotlin的内联类,说这玩意好用的很,节约内存。于是顺手写了一个sample给我看看。还没了解过内联类(inline class)的

2021-05-26 22:05:37 239

原创 Google I/O 公布了 Compose 1.0,你准备好了吗?

Compose 于2019年的 Google IO大会首次发布,当时感觉前景并不乐观,想推翻已存在10年之久的现有视图体系谈何容易,更何况将来与 Flutter 等同门兄弟的关系又该如何相处?没想到时隔仅两年,本届 IO 大会上就宣布 Compose 1.0 即将到来。其实从年初 Beta 版的一系列造势活动就能看出 Google 在 Compose 推广上的决心之大,只要官方发力编程语言都可以短期内切换,更何况一个UI框架? 所以不必怀疑, Compose 必将成为新的UI开发标准。随着稳定版的到

2021-05-25 22:28:07 533

原创 UI组件化--干掉shape终极一战

背景UI组件化对项目有正向收益,不仅能提效,还能保证高度的视觉还原度,减少和UI设计师沟通成本,所以也得到了大家的认可。所以每个项目都会启动UI组件化建设,但是UI视图是和项目强相关的,项目间无法复用,导致大家疲于实现,重复造轮子,拖延下班时间,那么基于上面的背景,有没有更好的解决方案呢,答案是有的,下面介绍一下UI组件化在项目中的实施经验,下面分为目标、工程架构、组件架构、组件实现来展开。目标对现有UI组件化进行容器化抽象,底层UI组件提供最大功能集合,完全解耦业务逻辑,业务方根据自己需求

2021-05-25 14:48:22 232

原创 Android 兼容 Java 8 语法特性的原理分析

本文主要阐述了Lambda表达式及其底层实现(invokedynamic指令)的原理、Android第三方插件RetroLambda对其的支持过程、Android官方最新的dex编译器D8对其的编译支持。通过对这三个方面的跟踪分析,以Java 8的代表性特性——Lambda表达式为着眼点,将Android如何兼容Java8的过程分享给大家。Java 8概述Java 8是Java开发语言非常重要的一个版本。Oracle从2014年3月18日发布Java 8,从该版本起,Java开始支持..

2021-05-24 21:22:54 221

原创 你听说过关于互联网圈子的四大谎言吗?

你听说过关于互联网圈子的四大谎言吗? 近日,有网友发帖爆出这所谓的“四大谎言”,分别是:去阿里镀金,去字节赚钱,去金山养老,去腾讯学技术。这本是四句传言,大概其本意是:去老牌大厂阿里工作相当于给自己的简历镀一层金,去业务蒸蒸日上的新兴大厂字节工作收入更高,去节奏慢、相对稳定的金山工作相当于养老,去腾讯工作可以学到更先进更牛的技术。听起来挺有道理,怎么就成了谎言呢?来听听程序员们怎么说吧!先来看第一句,“去阿里镀金”,阿里员工表示这句不算谎言,确实能镀金。问题...

2021-05-24 16:52:07 442

原创 从大公司年薪30万,跳槽到小公司月薪8千,是什么体验?

基本每隔一段时间,我都会收到一类问题:去大公司好,还是去小公司好?我之前文章中聊过一位朋友,35岁时,从大公司年薪30万的技术总监,跳槽到同学的创业小公司,拿着8千块月薪,主要收入是业绩奖金和年底分红。原先他管理的团队负责几个老系统的维护,几年了都差不多,直到业务量缩水时才下定决心跳出圈子。有读者评论说:早跳到小公司不就好了?大公司到最后都是养老,价值越做越低。近几年市面上有一种观点很流行,大概是:大公司会毁掉你。然后列举种种弊病,包括晋升通道僵化且狭窄、“螺丝钉化”、层级过多、人浮

2021-05-24 14:16:57 154

空空如也

空空如也

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

TA关注的人

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