
Android优化
文章平均质量分 93
阿尔法789
热爱分享,Android学习资料、进阶视频、面试合集等等可以私信我
展开
-
「 Dart 」一文了解 Dart 基础知识
本文介绍了 Dart 的环境搭建以及 Dart 语法,包括变量与常量、数据类型、函数、操作符、类、泛型等等。安装在 Dart for Windows (gekorm.com) 下载安装包安装 Dart SDK。在 VSCode 中安装 Dart 和 Code Runner 插件。新建一个 .dart 文件,输出 “Hello dart!” :void main() { print('Hello dart!');} Run Code:Hello dart! 变量和常量原创 2022-02-24 22:20:48 · 1680 阅读 · 0 评论 -
《Android编程权威指南》之数据绑定与MVVM(一)
《Android编程权威指南》第19 章第一篇,这里将会开发一个新应用了。翻译过来叫节拍盒子。此项目将学习使用 Jetpack 架构组件库中的数据绑定(databinding)工具,并用它实现 MVVM 新架构。此外,还会学习使用资源系统(assets system)存储声音文件。一、为何要用MVVM架构fragment 和 activity 开始膨胀,逐渐变得难以理解和扩展。添加新功能或修复 bug 需要耗费很长时间。此时,控制器层就需要做功能拆分了。MVVM 架构模型可以帮助我们做拆分。对于架构模原创 2022-02-24 21:40:03 · 457 阅读 · 0 评论 -
“深入交流“系列:Okhttp(二)拦截器的实现
Okhttp拦截器详解Okhttp拦截器介绍概念:拦截器是Okhttp中提供的一种强大机制,它可以实现网络监听、请求以及响应重写、请求失败重试等功能。我们先来了解下Okhttp中的系统拦截器:RetryAndFollowUpInterceptor:负责请求失败的时候实现重试重定向功能。BridgeInterceptor:将用户构造的请求转换为向服务器发送的请求,将服务器返回的响应转换为对用户友好的响应。CacheInterceptor:读取缓存、更新缓存。ConnectInterceptor:原创 2022-02-24 20:14:44 · 639 阅读 · 0 评论 -
[译]Flutter简易二维码扫描插件barcode_scan2
本文翻译自pub: barcode_scan2 | Flutter Package (flutter-io.cn)译时版本:barcode_scan2 4.2.0重生原来的 barcode_scan 不再维护了,所以 barcode_scan2 诞生了,并且支持空安全。barcode_scan2用于扫描 2D 条形码和二维码的 Flutter 插件。该插件提供了两个常用的 iOS 和 Android 库的包装:iOS: github.com/mikebuss/原创 2022-02-24 16:57:19 · 2740 阅读 · 1 评论 -
[Matrix系列-4]: TracePlugin 之 EvilMethodTracer 源码分析
背景evil字面意思是邪恶的、有害的意思。这个方法很邪恶就是该方法存在耗时多的情况,糟老头子坏的很呐!!因此,matrix的目的就是想去统计每个方法的执行耗时。大体的流程是这样的:在calss字节码转dex文件阶段,通过自定义transform插件,利用ASM工具来操作修改.class文件。在每个方法执行前后插入AppMethodBeat.i 和AppMethodBeat.o方法,在运行期计算两个的差值就得到方法的耗时。优点:兼容性好 无需通过hook手段优化插桩性能 在方法收集阶段会主动过滤简原创 2022-02-23 16:59:18 · 799 阅读 · 0 评论 -
[Compose] ViewModel
在命令式 UI 里,当订阅到 LiveData 数据变化时可明确指定 View 去刷新变化的值,比如 label.text = newValue,但是声明式 UI 里由于无法指示界面更新,需要为 UI 分配值,当值发生变化,界面会自动刷新, Compose 的 State<T> 负责此自动“重绘“(在 Compose 中,被称为 recomposition)。因此,需要将 LiveData 转换为 State。添加依赖除了 ViewModel 依赖还需要另一个依赖项将 LiveData 转换原创 2022-02-23 15:08:29 · 2372 阅读 · 0 评论 -
[Android] 插件化框架Virtual APK实现原理解析
1 . 前言Virtual APK是滴滴出行自研的一款优秀的插件化框架,其主要开发人员有任玉刚老师说到任玉刚老师,他可以说是我Android FrameWork层的启蒙老师。刚接触Android的时候,在拖了几年控件、写了一些CURD操作后,就得出了这样的结论:客户端太无聊了,现在已经完全精通安卓开发了。直到有一天看了一本叫做《Android开发艺术探索》的书,不禁感慨:原来Android开发竟然还能这么玩,之前的认知实在是浅薄言归正传,Virtual APK的特性和使用方法不是本文重点,如有需要了解原创 2022-02-23 14:49:22 · 926 阅读 · 0 评论 -
# Java并发编程实战读书笔记四
第十三章 显式锁Lock与ReentrantLock与内置加锁机制不同的是,Lock提供了一种无条件的、可轮询的、定时的,以及可中断的锁获取操作,所有加锁和解锁的方法都是显式的。public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(long time, TimeUnit un原创 2022-02-22 20:20:04 · 238 阅读 · 0 评论 -
30秒上手新一代Http请求神器RxHttp
开胃菜话不多说,30s倒计时开始,先来看看如何发送一个Get请求,如下:RxHttp.get("http://...") //第一步,确定请求类型,可以选择postForm、postJson等方法 .asString() //第二步,确定返回类型,这里返回String类型 .subscribe(s -> { //第三步,订阅观察者,第二步返回Observable对象 //请求成功 }, throwable -> {原创 2021-08-27 14:52:12 · 798 阅读 · 1 评论 -
【思货】kotlin协程优雅的与Retrofit缠绵-正文
1. Callback在最初的学习使用中,Callback异步方法是Retrofit最基本的使用方式,如下:接口:interface DemoService { @POST("oauth/login") @FormUrlEncoded fun login(@Field("name") name: String, @Field("pwd") pwd: String): Call<String>} 使用:val retrofit = Retrofit.Buil原创 2021-08-26 22:09:39 · 612 阅读 · 0 评论 -
【技术漫谈】Android高手进阶,这个必须要学 !
前言我希望我做一件事,是把大家带到最底层,最下面的一个地方,就像我们游泳一样,我带你到海洋最深处的一个地方,那里面有很多的宝藏正文一我最近也是跟一些同学的交流啊,拿我自己的一些事情来看,其实做了很多的一些。更加底层的一些东西了,包括一些。电子方面的一些编程,然后也会涉及到一些Linux里面的一些驱动方面的一些事情,最近是在做这方面的事情,其实无论是做Android层面还是做应用层,还是做我们的嵌入式,还是说去做一些。比较接近底层,你说用电平或者说是用一些信号量。或者说是一些脉冲来做一些东西,实原创 2021-08-26 17:24:43 · 321 阅读 · 0 评论 -
【Android珍藏】推荐10个炫酷的开源库
前言技术群里面经常有人问到一些炫酷的UI效果实现方法,有时候我都是给一个相同或者相似效果的Github链接,有同学私信给我说,大佬,怎么这些效果你都能找到?你是怎么搜索的,或者有其他什么秘方?会利用Google、百度等搜索工具搜索是一方面,另一个重要的方面是:记录搜藏,当看到一个炫酷的效果的时候,记得收藏起来,记录到自己云笔记或者收藏夹里,看得多了,印象就比较深刻,当遇到类似效果的时候,到自己记录收藏的地方找就是了。今天为大家推荐我所收藏的一些炫酷实用的效果的开源库(选择其中10个)。1、Discret原创 2021-08-26 14:37:59 · 488 阅读 · 0 评论 -
【AAC 系列三】深入理解架构组件:LiveData
0. 前言在之前我们深入研究了 Lifecycle 的实现原理,并在文末提到了LiveData 以及 ViewModel,这次我们来讲讲 LiveData。LiveData 是 Android Architecture Components 中的一员,先看下官方是如何介绍的:LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it原创 2021-08-25 20:24:51 · 375 阅读 · 0 评论 -
Android 中的 MVP:如何使 Presenter 层系统化?
MVP(Model View Presenter)模式是著名的 MVC(Model View Controller)的衍生物,并且是 Android 应用程序中管理表示层的最流行的模式之一。这篇文章首次发表于 2014 年 4 月,从那以后就一直备受欢迎。所以我决定更新它来解决人们心中的大部分疑虑,并将代码转换为 Kotlin 语言形式。自那时起,架构模式发生了重大变化,例如带有架构组件的 MVVM,但 MVP 仍然有效并且是一个值得考虑的选择。什么是 MVP 模式?MVP 模式将 Presente原创 2021-08-24 20:57:24 · 833 阅读 · 0 评论 -
Android MVP 架构必要知识:第三部分(Dialog,ViewPager,RecyclerView 以及 Adapters)
Android MVP 架构系列文章的第1部分和第2部分自发布以来非常受欢迎,对此我感到很高兴。同时也因为你们的建议和贡献,项目优化得更好了。在这个开发过程中,许多人询问过如何在这个架构中使用 Dialog 以及基于 Adapter 的视图。因此,我会在这篇博客中补充这两点。如果你还没有阅读前面两篇博客,那么我会强烈建议在阅读本文之前阅读这两篇博客。下面是博客的链接地址:[译] Android MVP 架构必要知识:第一部分[译] Android MVP 架构必要知识:第二部分Mindorks.原创 2021-08-24 15:46:03 · 366 阅读 · 0 评论 -
[Jetpack] 人生苦短,让脚手架为你节省时间
温馨提示: 本文以《让人耳目一新的 Jetpack MVVM 精讲》作为前置知识的铺垫,假定小伙伴们在阅读本文前 已对精讲篇的内容有了一定理解。背景人,不是机器,人注定会犯错。尤其是在 多人协作的软件工程背景下 快速版本迭代的时候。有限的注意力应始终放在刀刃上,因而那些机械重复的模板代码,应在后台自己默默安排好一切、免除因各种手工操作的失误 而造成的不可预期的后果。脚手架项目应运而生。架构图总览脚手架项目不仅仅是我一个人的创作,也是集许许多多优秀开发者参与演化的结果。该项目主要包含 表现.原创 2021-08-24 14:01:22 · 226 阅读 · 0 评论 -
# HenCoder Android 自定义 View 1-8 硬件加速
硬件加速这个词每当被提及,很多人都会感兴趣。这个词给大部分人的概念大致有两个:快速、不稳定。对很多人来说,硬件加速似乎是一个只可远观而不可亵玩的高端科技:是,我听说它很牛逼,但我不敢「乱」用,因为我怕 hold 不住。今天我试着就把硬件加速的外衣脱掉(并没有),聊一聊它的原理和应用:硬件加速的本质和原理;硬件加速在 Android 中的应用;硬件加速在 Android 中的限制。本篇是 「HenCoder Android 开发进阶」自定义 View 部分的最后一篇:硬件加速。如果你没听说过原创 2021-08-21 17:28:49 · 325 阅读 · 1 评论 -
Android进阶知识:事件分发与滑动冲突
1、前言Android学习一段时间,需求做多了必然会遇到滑动冲突问题,比如在一个ScrollView中要嵌套一个地图View,这时候触摸移动地图或者放大缩小地图就会变得不太准确甚至没有反应,这就是遇到了滑动冲突,ScrollView中上下滑动与地图的触摸手势发生冲突。想要解决滑动冲突就不得不提到Android的事件分发机制,只有吃透了事件分发,才能对滑动冲突的解决得心应手。2、事件分发机制相关方法Android事件分发机制主要相关方法有以下三个:事件分发:public boolean dispat原创 2021-07-01 20:34:28 · 343 阅读 · 0 评论 -
闲鱼上疯传的《Kotlin强化实战学习手册(附Demo)》,免费开发下载
前言自Google宣布将 Kotlin 作为 Android 开发的首选语言 (Kotlin-first),现已有60% 的专业 Android 开发者已经采用了该编程语言。在 Google Play 应用商店排名前 1,000 的应用中,有 70% 的开发语言都采用了 Kotlin。为了与时俱进并迎接未来发展,现在正是学习使用 Kotlin 进行 Android 开发的绝佳时机。为了帮助你入门和深入的学习 Kotlin ,谷歌近日整理发布一份《高级Kotlin强化实战学习手册(附Demo)》供Andr原创 2021-05-29 15:21:18 · 245 阅读 · 5 评论 -
阿里大神秃头整理:GitHub上爆火的,第三方库设计思想框架(含热修复、插件化、组件化等)
缘起随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有65535,应用之间的互相调用等等问题,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。阿里P8大佬每天熬夜到凌晨一两点,花了将近半个月时间将Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJav原创 2021-01-22 13:52:35 · 294 阅读 · 0 评论 -
今日头条/皮皮虾,Android开发大神是怎么理解架构体系的?
一、开始的开始(字节大神语录)Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术,但是,即使是这样的技术,Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码 熟悉而又陌生: 熟悉的是几乎天天在和它们打交道,天天在复制这些代码;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。所以我们需要从新的角度去分析这些知识点,深入研究他们,要学习源码,模仿源码原创 2020-12-18 17:24:21 · 427 阅读 · 1 评论 -
2020年Android面试题年末大合集,一年的面试题都在这里了!
前言这份资料是一位大佬整理的,收集了论坛、博客上网友分享的一二线大厂面试真题。大佬根据结合网上各个大神对这些问题的分析,整理出了这一套面试题大合集。一共2109页,包含Android开发涉及的五个模块,十分详实,可以说你想了解的面试题和技术点,这里都能找到。年后如果有跳槽准备的,可以提前做好准备。没跳槽准备,也可以看看这些问题以及它们的解析,对提升技术也是很有帮助的。内容特点: 内容详细,收集了各个论坛、博客中网友在一二线大厂面试时遇到的面试真题。并将每个面试题按Android知识体系分类,更容易查找原创 2020-12-03 20:22:37 · 1423 阅读 · 0 评论 -
阿里P8大牛内部推荐:2020年最详细Android第三方源码库笔记
**笔记特点:**内容详实,涵盖了和Android开发相关的各个源码库。不仅深入浅出地分析源码,还记录了大佬们在使用时遇到的问题,并提供了解决的方法。**内容概要:**一共分为十个章节,包含Glide、LeakCanary、ARouter、EventBus、Retrofit源码详细解析,以及它们的使用,和一些容易遇到的问题。EventBus 源码详解EventBus 自己实现一个?ARouter 源码详解ARouter 自己实现一个?LeakCanary 源码详解Leak原创 2020-11-24 21:05:05 · 1942 阅读 · 4 评论 -
深入理解 LayoutInflater.inflate() 方法
目录1. 前言2. 正文2.1 inflate() 方法分析2.1.1 根节点不是 merge 时,第一组取值情况分析2.1.2 根节点不是 merge 时,第二组取值情况分析2.1.3 根节点不是 merge 时,第三组取值情况分析2.1.4 根节点不是 merge 时,第四组取值情况分析2.1.5 根节点为 merge 时情况分析2.2 实际应用2.2.1 自定义控件填充布局2.2.2 Fragment 填充布局2.2.3 RecyclerView 条目填充布局2.2.4 AlertDialog 填充自原创 2020-11-13 15:18:54 · 640 阅读 · 0 评论 -
Android开发圈疯传的源码解析笔记,你想象不到的简单易懂
几乎每个程序员都知道理解源码的重要性。先不讨论阅读源码对自身水平的帮助,就从急功近利的角度来说,在面试稍微大一点公司的时候,都会涉及到不少源码级别的问题。如果没有阅读源码习惯的话,在大多数情况下,面试结果是不会太理想。另外,我们在开发中,会遇到一些罕见问题,而这些问题往往出在开源项目上,毕竟一个开源项目不可能考虑到各种场景。如果你阅读了这个开源项目的源码,对它足够了解,就能很快定位到问题所在,迅速解决。阅读源码如此重要,为什么大家都热衷于CV,而不去阅读源码呢?因为阅读源码并不是一件简单的事情,尤其是刚原创 2020-09-09 17:18:15 · 569 阅读 · 0 评论 -
耗时8个月,2960页,58万字,全网最全的Android开发笔记
笔记特点:内容详实,涵盖Android开发各个内容。条理清晰,系统化地阐述了Android开发各个知识点。内容概要:一共七个模块,包括全方面性能调优、Android框架体系架构、flutter技术进阶、NDK模块开发、架构师筑基必备技能、设计思想解读开源框架、微信小程序。由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。如有需要获取资料文档的朋友 可以关注+点赞后台简信我【笔记】免费获取。360°全方面性能调优一、设计思想与代码质量优化二、程序性能优化三、开发效率优化原创 2020-09-04 14:00:11 · 1803 阅读 · 4 评论 -
3000行代码怎样简化成300行?来,一文来教你!
前言APT(Annotation Processor Tool)是用来处理注解的,即注解处理器。APT 在编译器会扫描处理源代码中的注解,我们可以使用这些注解,然后利用 APT自动生成 Java代码,减少模板代码,提升编码效率,使源码更加简洁,可读性更高。1、具体场景下面我将会以项目中常见的 intent 页面跳转为例,给大家演示一下,如何自动生成 intent代码,以及对getIntent...原创 2020-02-20 22:06:49 · 654 阅读 · 0 评论 -
多套主题怎么灵动换肤?APP换肤方案详细解析!
背景需求目前Android APP换肤大体可分为两大类:两套主题的切换(比如白天/黑夜),使用一个开关按钮进行切换。多套主题在线下载并更新。第一种的实现基本上使用设置本地Theme来操作,即将所有的资源打包到APP中,并且根据主题进行切换。 第二种不可能使用第一种的实现方式,因为将所有资源都打包到APP中缺乏灵活性,不利于活动的更新,并且也会使得apk包的体积变大。所有第二种的实现必须...原创 2020-02-18 22:03:25 · 821 阅读 · 0 评论 -
解密:曾经常问你 Java IO的人,为何现在只说我会了?
一、简介说到 I/O,想必大家都不会陌生, I/O 英语全称:Input/Output,即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。比如我们常用的 SD 卡、U 盘、移动硬盘等等存储文件的硬件设备,当我们将其插入电脑的 usb 硬件接口时,我们就可以从电脑中读取设备中的信息或者写入信息,这个过程就涉及到 I/O 的操作。当然,涉及 I/O ...原创 2020-01-14 13:59:12 · 411 阅读 · 0 评论 -
新年红包大派送!只要一个小程序,就能红包兑换?
最近做了一个红包兑换小程序,遇到了一些问题这里做一下总结。1、需求:回流用户在游戏客户端获取到口令,然后在小程序这边输入口令兑换红包,成功之后钱会发到用户微信账户里。2、流程:若未授权,显示授权按钮。点击授权登录,授权成功后获取到私密字段iv和encryptedData,调取登陆接口,错误则提示相关信息,正确则跳转校验姓名和身份证的页面,校验通过就调取提现接口,成功则提示提现成功,同时显示生...原创 2020-01-09 14:44:04 · 386 阅读 · 0 评论 -
这个时代,作为程序员,我什么要学习小程序
前言“如今小程序的DAU(日活跃用户数量)已经超过了3.3亿,到明年年底,小程序的DAU可能会超过4.5亿。”阿拉丁创始人兼CEO史文禄,近日在其主办的第三届全球小程序生态大会上如此表示。史文禄还提到:“2019年至少有23家小程序单日DAU突破1000万,预计明年至少有100家小程序单日DAU突破1000万。小程序今年的交易GMV会突破1万亿元,预测明年会超过3万亿元。”回想起来,微信小程...原创 2020-01-09 14:38:23 · 256 阅读 · 0 评论 -
太厉害了!这个Android 日志工具,拯救你的项目模块
在项目开发中,遇到一个痛点:项目模块较多,不同日志混合在一起;出现线上问题时,所有日志信息混合在一起,定位困难。为解决这个问题,有了这个工具。这个工具有以下作用:开发模式debug 为 true 时,打印在控制台,同时打印到文件;发版模式debug 为 fase 时,只打印到文件;方便日志上传 支持日志压缩上传缓存文件 区分模块 支持不同功能模块,日志打印到不同文件中;第一次看文章...原创 2020-01-09 14:28:17 · 383 阅读 · 0 评论 -
Android面试轻松搞定设计模式:六大原则+三大分类+详细总结
2020年,我们已经过了5天,这样说来,春招的也快来了,以前总结了不少面试题分享给大家今天就给大家详细总结一下设计模式,春招可不能倒上面第一次看文章的朋友可以关注我和我的专栏,会不定期发布大厂面试题、Android架构技术知识点及解析等内容,还有学习PDF+源码笔记+面试文档+进阶视频分享设计模式六大原则a.单一职责原则就一个类来说,应该只有一个引起它变化的原因一个类做一件事情,...原创 2020-01-09 14:26:20 · 326 阅读 · 0 评论 -
腾讯社招凉经!三面题目总结,如何躲掉这些“鹅厂”的坑?
2019-2020年,我们度过了21世纪10年代的最后一个冬天,趁这个机会,去鹅厂走了一波结局有点悲催,但是没多大影响,我还是我,那个在总结学习一线的我想看以往学习内容的朋友可以看我的GitHub:https://github.com/Meng997998/AndroidJX还有收集好的面试题目总结带答案,就放在文末废话就不多说,接下来凭借记忆给大家讲讲三面时遇到的问题,关注我收藏...原创 2020-01-09 15:33:12 · 4308 阅读 · 0 评论 -
算法学习?挑战高薪的必经之路!让面试官满意的排序算法(图文解析)
让面试官满意的排序算法(图文解析)这种排序算法能够让面试官面露微笑这种排序算法集各排序算法之大成这种排序算法逻辑性十足这种排序算法能够展示自己对Java底层的了解这种排序算法出自Vladimir Yaroslavskiy、Jon Bentley和Josh Bloch三位大牛之手,它就是JDK的排序算法——java.util.DualPivotQuicksort(双支点快...原创 2020-01-09 14:21:52 · 215 阅读 · 0 评论 -
年终小盘点:这十八个Android开发必备知识点,你都知道吗?
本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、查看CPU温度二、开机向导调试相关方法三、查看APP启动时间四、判断 user,userdebug 版本的方法五、修改截屏默认存储路径六、解析 kernel dump 方法七、SPRD 默认打开 Ylog 以及dumpsys enable方法八、判断是否正在 monkey 测试的方法九...原创 2020-01-09 14:14:58 · 626 阅读 · 0 评论 -
Flutter实用小技巧,收藏起来
使用Dart开发Flutter应用,和Java非常类似,因此对Dart语言特性和Flutter Framework积累足够的话,便可以写出更高效和代码。分享几个实用的小技巧,本文参考了 FlutterDartTips ,去除了一些很常见的写法。发布模式判断判断当前环境是否为发布模式。const bool kReleaseMode = bool.fromEnvironment('dart....原创 2019-12-27 14:14:38 · 812 阅读 · 0 评论 -
ASM字节码插桩:QQ空间的热修复解决方案核心技术,安卓程序员的硬通货
一、什么是插桩QQ空间曾经发布的《热修复解决方案》中利用 Javaassist库实现向类的构造函数中插入一段代码解决 CLASS_ISPREVERIFIED问题。包括了Instant Run的实现以及参照Instant Run实现的热修复美团Robus等都利用到了插桩技术。插桩就是将一段代码插入或者替换原本的代码。字节码插桩顾名思义就是在我们编写的源码编译成字节码(Class)后,在Andro...原创 2019-12-17 09:36:20 · 461 阅读 · 0 评论 -
想要丝绸般顺滑的系统运行,千万别错过这些Android 性能优化的小贴士
在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短。这样我们就要进行性能优化,我就来给大家讲一些Android 性能优化的小tip还有,Android学习PDF+源码笔记+面试文档+进阶视频的学习集合,可以**点这里**无偿赠送一、Pinner service 配置优化修改 /frameworks/base/core/res/res/values/config.xml...原创 2019-12-13 14:58:18 · 1270 阅读 · 0 评论 -
看这代码水平如何?
看这代码水平如何?开8k的工资我就写8k的代码,开20k的工资我就写20k的代码。下面这代码可读性爆表了!测试:没BUG呀产品:功能实现了呀考核:代码提交足行队友:太简洁易读了一本书上说,下面的 C 语言代码可能会产生无限循环。你看出Bug在哪里吗?雷军1994年写的汇编代码,你见过吗?瞧,我的代码!看完之后,你觉得你的代码怎么样呢?花了几个月的时间整理了下An...原创 2019-12-13 14:09:50 · 196 阅读 · 0 评论