
技术文
文章平均质量分 90
Android小安
这个作者很懒,什么都没留下…
展开
-
Android开发面试——大厂就这?(必会经典面试题)
Android面试技巧原创 2023-03-02 21:44:18 · 182 阅读 · 0 评论 -
Android开发出路是不是车载?(开源资料免费分享)
车载开发资料分享原创 2023-03-02 21:20:57 · 192 阅读 · 0 评论 -
Android程序员必备神器《Jetpack Compose应用详解》开源分享
jetpack compose应用详解原创 2023-03-01 21:50:49 · 346 阅读 · 0 评论 -
Android Activity Result API :拍照与选择照片
本篇文章介绍下如何使用Activity Result API 实现拍照以及选择手机中的图片。实现拍照在之前的文章中提到过,ActivityResutlContract已经有一些官方实现好的默认合约,其中就包含了两个拍照相关的合约TakePicture和TakePicturePreview,二者都可以实现拍照功能。TakePictureTakePicture合约需要传入保存照片文件的Uri,因此需要使用FileProvider,通过TakePicture合约实现拍照代码如下://在res文件夹下新建原创 2022-05-26 16:53:45 · 2356 阅读 · 0 评论 -
Activity被系统回收了?
日常开发中经常会出现这样的情景,测试跟开发唇枪舌战“为什么从其他app返回,页面内容要重新加载呢,这肯定是个bug”,“Activity被系统回收了,不是bug”;“为什么切换到后台,这个app心跳不在线了呢,这肯定也是bug”,“这是后台进程被系统回收了,算什么bug”。内存回收是在Android开发中经常接触到的概念,但是你真的了解内存回收吗?这篇我们就来简单探讨下Android的内存回收机制。Android内存回收机制Addroid系统在设计时处于用户体验和性能优化的角度,设计了LMK机制:Low原创 2022-05-24 17:00:02 · 624 阅读 · 0 评论 -
它来了 Flutter3.0发布全解析
我们在手机、桌面和网络上进行多平台UI开发的历程达到了顶峰。我们很高兴地宣布,作为谷歌I/O主题演讲的一部分,我们今天推出了Flutter 3。Flutter 3完成了我们从以移动为中心到多平台框架的路线图,提供了对macOS和Linux桌面应用的支持,以及对Firebase集成的改进,新的生产力和性能特性,并支持Apple Silicon。The journey to Flutter 3我们创办Flutter的初衷是试图彻底改变应用开发:将网络的迭代开发模式与硬件加速图形渲染和像素级控制相结合,而原创 2022-05-12 22:04:32 · 1771 阅读 · 0 评论 -
[源码分析]为什么Dialog不能使用Application作为Context进行初始化
1.错误发生当我们通过如下方式构造Dialog并显示时,就会出现CrashDialog构造的时候如果使用的是Application作为Context,当调用show的时候就会报BadTokenException异常我们跟着这个堆栈来从源码分析为什么这里会报异常首先发现,不管用的哪个context初始化的时候都不会报错,因此使用Application和Activity作为context的区别在于调用show方法的时候,堆栈可以看到show的时候会调用WindowManagerImpl的addVie原创 2022-05-10 21:11:19 · 1269 阅读 · 0 评论 -
RecyclerView 性能优化 | 把加载表项耗时减半 (上)
构建 Android App 界面时,RecyclerView 出场率很高。它的加载性能影响着用户体检。本篇分享一次完整的 RecyclerView 性能优化过程:从用工具定位问题,再不断尝试各种优化方案,最终达成 50% 的性能优化。这次性能调优的界面如下:界面用列表的形式,展示了一个主播排行榜。预优化,先量化这个排行榜嵌套在一个 ViewPager 中。最初发现性能问题是因为滑动到该界面时,ViewPager 指示器的平移动画卡了一下,掉帧了。虽然卡顿是肉眼可见的,但若不能量化卡顿,就无法量原创 2021-03-28 21:09:58 · 1088 阅读 · 0 评论 -
线程切换哪家强?RxJava与Flow的操作符对比
Flow作为Coroutine版的RxJava,同RxJava一样可以方便地进行线程切换。 本文针对两者在多线程场景中的使用区别进行一个简单对比。1. RxJava我们先来回顾一下RxJava中的线程切换 如上,RxJava使用subscriberOn与observeOn进行线程切换subscribeOnsubscribeOn用来决定在哪个线程进行订阅,对于Cold流来说即决定了数据的发射线程。使用中有两点注意:当调用链上只有一个subscribeOn时,可以出现在任意位置上面两种写原创 2021-03-24 22:23:35 · 796 阅读 · 0 评论 -
面试官:作为一名Android开发者,连jetpack都不懂?你还是改行吧!
JetPack自2018年面世,迎来了它的第三个年头。但是在国内的受欢迎程度远远及不上国外,国内开发者一听到别人说JetPack,脑海中蹦出来的词就是“不成熟”、“不好用”、“调试有点难”,但是事实真的是如此嘛?我们首先来看看JetPack在发布的时候的雄心壮志:以上来自谷歌语录,总结起来就是:JetPack是一整套组件库它能帮我们写出优质应用它能让我们不需要去写毫无营养的样板代码4. 它能规范我们的开发行为接下来来看看JetPack组件库到底包含了哪些组件:从上图我们原创 2021-02-06 15:41:03 · 322 阅读 · 0 评论 -
阿里35岁Android程序员晋升无望,该何去何从,在线等网友给点建议
我自己做Android开发已经是第5个年头了,在毕业后的第二年,有幸加入到字节跳动这个大家庭。在字节的4年,见证了太多人的来来去去,印象很深一个同事,跳槽阿里薪资直接double,但也看到很多人镀着“大厂”的金四处碰壁,终究还是倒在了技术上!我自己或许也算是个成功的例子,在4年的时间里从1-1做到了2-2,当然,这背后的“辛酸泪”就留到日后再说。总的来说,归功于自己不断地学习,复盘总结,提升技术!以下分享一下我4年来具体的学习路线及笔记文档,希望能帮助到有心提升技术的朋友!架构师筑基必备技能目前A原创 2021-02-05 10:16:35 · 396 阅读 · 0 评论 -
Andorid&Kotlin编译速度原理剖析(上)
思维导图大纲由于内容比较多,所以拆分了两部分来讲解。欢迎点赞和关注给作者一些动力感谢感谢。如果有任何的想法和创意都可以直接和我联系讨论。整体内容主要分为六部分来介绍:1、为什么要进行编译速度的优化(时间就是金钱)2、Android编译打包流程(知己知彼方能百战百胜)3、编译耗时检测(傍观者审,当局者迷)4、编译优化常规方案(要长胡子先成人)5、编译速度深度优化(锲而不舍,金石可镂)6、未来优化管控(妻吾妻以及人之妻)一、编译速度优化前言1、三年开发,五年编译Gradle作为构建工具原创 2021-02-05 10:02:15 · 606 阅读 · 0 评论 -
Alibaba架构师首发,Android组件化与插件化学习笔记,技术与实战齐飞
##先说组件化:背景组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。本文主要介绍我们的组件化方案,希望对从事Android组件化开发的同学能有所启发。为什么要组件化近年来,为什么这么多团队要进行组件化实践呢?组件化究竟能给我们的工程、代码带来什么好处?我们认为组件化能够带来两个最大的好处:1.提高组件复用性可能有些人会觉得,提高复用性很简单,原创 2021-02-04 14:39:27 · 390 阅读 · 0 评论 -
“终于懂了“系列:Jetpack AAC完整解析(二)LiveData 完全掌握!
上一篇介绍了Jetpack AAC 的基础组件 Lifecycle,它是用于管理Activity/Fragment的生命周期。这篇来介绍基于Lifecycle的用于处理数据的组件——LiveData。一、LiveData介绍1.1 作用LiveData是Jetpack AAC的重要组件,同时也有一个同名抽象类。LiveData,原意是 活着的数据。 数据还能有生命? 先来看下官方的定义:LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意原创 2021-01-29 17:14:23 · 372 阅读 · 0 评论 -
“终于懂了“系列:Jetpack AAC完整解析(一)Lifecycle 完全掌握!
一、Android Jetpack 介绍1.1 Jetpack是啥官方定义如下:Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。JetPack更多是一种概念和态度,它是谷歌开发的非Android Framework SDK自带、但同时是Android开发必备的/推荐的SDK/开发规范合集。相当于Google把自己的Android生态重新整理了一番,确立了Android未来的原创 2021-01-29 17:01:02 · 411 阅读 · 0 评论 -
看完就会系列:一文搞定Kotlin基础入门到高级强化实战
前言:Kotlin这门语言极其灵活,这是一把双刃剑,相比Java,大家写的都是白话文,不论水平高低,大家基本都是能非常流畅的阅读彼此的代码的,但是在使用Kotlin之后,由于大家的Kotlin表达水平和思维习惯的不同,就好造成这样一种情形,「这tm还能这样写?」、「这写的是个啥?」、「卧槽、牛B」。而Kotlin作为Android开发的首选语言,为开发者提供了大量的语法糖和技巧,让开发者可以专注于需求开发,而将语言所带来的影响减少到最少。Java和Kotlin最大的区别,实际上在于Kotlin的函数式编原创 2021-01-28 17:09:59 · 379 阅读 · 0 评论 -
2021年Android岗如何进阶?这些学习方法请收好!
“现在学习Android开发还有前景吗?”“Android开发还有什么可以研究的?”近些年,移动开发市场看似并不乐观,小程序、快应用的崛起,让许多App的增长达到瓶颈,尤其是Android开发。既然红利期已过,就更需要精炼的技术作为支撑,像现在的中高级招聘要求,除开学历要求、Android基础之外,把JNI/NDK/Framework,甚至JS、Server端开发也作为了提升点,是全栈方向的雏形。其实,安卓开发的从业者会发现,各大公司中高端职位有明显增加,这也意味着安卓开发已进入技术赋能业务时代原创 2021-01-20 15:35:12 · 371 阅读 · 2 评论 -
给 Android 开发者的 RxJava 详解
前言我从开始使用 RxJava ,到现在三年多了。加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJava 到底是什么?点此进入 rxjava入门到精通实战笔记免费获取通道鉴于 RxJava 目前这种既火爆又神秘的现状原创 2021-01-18 21:15:54 · 561 阅读 · 1 评论 -
程序员应聘阿里P7岗,面试都过了,结果栽在背景调查!
每个程序员都想进大厂尤其是阿里,在国内是顶尖的互联网公司,程序员们挤破头颅,用尽所有方法都在渴望获得一席之位!最近一名程序员应聘阿里旗下企业支付宝,所有面试都通过了,结果却败在了背景调查上:支付宝P7 offer背景调查没过,没说什么原因,再次进阿里失败了,请问以后还有机会吗?据了解,大部分企业都会对面试者进行背景调查,所谓背景调查就是对面试者的简历背景做详尽调查,以确保其提供的资料真实有效而非虚构。这一环节一般会放在面试的最后环节,等所有的笔试现场面试通过后再进行,阿里也不例外。进入背调环节,也就原创 2021-01-13 16:36:58 · 659 阅读 · 0 评论 -
2021了,为什么说音视频技术是技术风口?Android音视频开发这么吃香?
互联网发展日新月异的今天,人们的社交需求也在不断升级。一直以来,社交平台持续探索新的互动方式,以满足人们不断更迭的社交需求。从2018年火爆的直播,再到越来越被大众依赖的实时音视频,高速发展的通信技术为社交平台的探索提供了更多可能。随着**5G的普及,将会改变人与人、人与物、物与物之间的沟通方式。**以后图文沟通的方式会越来越少,而音视频则将成为主流这也催生出大量的音视频相关需求。但目前具备音视频开发技术的开发者,可谓是少之又少。而且,现在音视频工程师的薪资比纯Android应用层开发高出40%。原创 2021-01-12 22:26:02 · 799 阅读 · 2 评论 -
又一开源项目爆火于GitHub,Android高级插件化强化实战
前言相信大家都知道安卓应用开发的大量难题,其实最后都需要插件技术去解决。现今插件技术的使用非常普遍,比如微信、QQ、淘宝、天猫、空间、携程、大众点评、手机管家等等这些大家在熟悉不过的应用都在使用。插件技术可以给项目开发带来巨大的好处,比如:并行高效开发、模块解耦、解除单个dex函数不能超过65535的限制、动态更新升级、按需加载等等。掌握好插件技术,需要如下的安卓基础和相关知识,例如:Android应用程序安装,加载过程Android应用运行机制,生命周期调用原理Android应用原创 2021-01-08 18:12:49 · 417 阅读 · 0 评论 -
部门总监对Android组件化的最佳实战总结 ,覆盖整个互联网公司(附源码)
背景组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。本文主要介绍我们的组件化方案,希望对从事Android组件化开发的同学能有所启发。为什么要组件化近年来,为什么这么多团队要进行组件化实践呢?组件化究竟能给我们的工程、代码带来什么好处?我们认为组件化能够带来两个最大的好处:1.提高组件复用性可能有些人会觉得,提高复用性很简单,直接把需要复用的代原创 2021-01-05 14:35:55 · 756 阅读 · 4 评论 -
Android Jetpack架构开发组件化应用实战
项目介绍本项目采用组件化+MVVM架构进行开发,对功能组件和业务组件进行拆分,通过ARouter进行组件之间的通信。本文主要是对整个应用的技术架构作一个简单的介绍。项目地址:Android Jetpack架构开发组件化应用实战 欢迎star技术要点Kotlin+Jetpack+Coroutines+Retrofit+koin项目整体架构图:宿主App没有任何的业务代码,整个业务被拆分为各个ft_lib模块。对一些功能组件进行封装抽取为lib,提供给上层依赖。ft_lib之间没有任务依赖关系,通原创 2021-01-04 11:52:56 · 292 阅读 · 0 评论 -
救我于水深火热的「热修复」
上周五线上项目出现了紧急缺陷,无奈之下周六苦逼加班发补丁????,唯一值得欣慰的是由于出现缺陷的功能会在今天通过 ABTest 下发,补丁赶在了大推之前。刚好周日在家闲着,就写一下「救我于水深火热的热修复」。希望当你看完这篇文章之后,能够了解到应用热修复它并不难,也不需要自己造轮子,业界很多优秀的框架如Tinker,Robust,Sophix等。如果项目还没有支持这个热更能力,希望你能尝试折腾慢慢接入,这不仅仅能学习到新知识也能为服务项目提供容错能力。文章篇幅比较长,希望各位看官能耐心看完,掌握整体原创 2020-12-09 10:51:48 · 270 阅读 · 0 评论 -
又一Offer收割机!阿里首推Android技术成长笔记,业内评级“钻石级”
前言一个月前呢,想准备面试,就在网上随便找找面试题什么的,发现都是一些不给详细回答的或者回答不够深的(也许是我没找到????),反正稍微有点苦恼,因为我毕竟是个懒人,就想看看面试题,然后自己思考下,顺便看看一些参考回答,看看自己回答的全不全面等等,不知道有多少小伙伴也是像我这样的。懒人福音:为何说懒人福音,近日,阿里又迎来一里程碑,首推Android架构技术成长笔记,理论与实战兼备,被业内评级“钻石级”,笔记不但覆盖了Android开发在整个互联网公司的经典面试真题,还从基础理论到实战应用将Androi原创 2020-11-20 17:55:18 · 455 阅读 · 3 评论 -
五年开发经验杭州竟找不到工作:Android开发真等于废人?
最近有读者在后台给我留言说,学Android难找到工作,是不是Android在走下坡路,前景是不是不那么乐观了。而在知乎上的问答关于这种类型的问题也像雨后春笋一样,冒出了不少:针对这一系列问题,也为了解答读者的疑惑,小编特意收集资料对Android现状和未来的发展以及作为一个Android程序员如何提高自己的核心竞争力做了一个总结:文中资料可在GitHub上免费下载。首先我们来看看互联网现状:如今的互联网,延续了2018年的态势。虽然前些年,每到年底的时候大环境都不好,然而来年照样春暖花开。但原创 2020-11-16 22:29:20 · 1127 阅读 · 1 评论 -
作为一个Android开发者,搞懂开源框架设计思想真的这么重要吗?看阿里P8大佬给你的总结
**前言:**前段时间知乎有人问起“如何学习开源框架”这个问题,大家是如何学习开源框架的呢?一位来自阿里的大佬立马整理了下自己的思路:1: 了解:先了解该开源框架是在什么背景下诞生的,主要用来解决什么问题。2: 熟悉:这个开源框架的原理是什么?比如用了什么样的设计模式。比如运用了反射机制。3: 思考:如果让你来设计这样的开源框架, 你如何设计?很多框架都很笨重,你是否能按照自己的设计弄一个轻量级的。做这一步的目的是让自己带着问题去学习开源框架,不然看着看着就云里雾里了。4: 深入:下载开源框架的原创 2020-11-13 13:56:13 · 342 阅读 · 1 评论 -
惊喜!阿里巴巴资深技术专家花费60天,整理出Flutter技术解析与实战文档,全网首发
前言:近年来,随着移动智能设备的快速普及,移动多端统一开发框架已成为一个热点议题。Google Flutter通过新的渲染引擎、新的编程语言、新的编程框架,提供了一个更决绝的跨端方案,使其在众多移动多端统一开发技术中脱颖而出。作者序:作者从2017年起预研并接触Flutter 技术,经过多次的探讨验证后正式大规模地在线上使用,在App性能、稳定性、开发效率上获益良多。此外,我们积极协同Google Flutter 团队去反馈和共同解决中国社区所遇到的各种挑战。通过这个过程,形成了大量的实践知识与技术原创 2020-11-11 16:06:34 · 3041 阅读 · 16 评论 -
阿里工作十年的Android架构师,总结出2020最新阿里、腾讯、字节、京东等一线大厂高频面试真题合集,以及从业心得分享
前言:本文资料是由阿里工作十年架构师提供,属于纯干货篇,总结了最新2020整理收集的一些面试题(都整理成文档,附答案),涵盖了阿里巴巴、腾讯、字节跳动、京东、华为等大厂的Android面试真题,和资深架构师学习路线以及Android架构文档。不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样会研究大厂的面试题。也会对你的架构师之路带来帮助,文中更是有详细的学习规划图,给你带来不一样的阅读感。干货献上:第一部分:(Android原创 2020-11-06 21:51:38 · 3293 阅读 · 11 评论 -
三年啦,跳槽成功的Android开发面经总结!
1简历首先是简历,一般找一个模板,填写掌握的技能和项目经历即可。github上有一个不错的模板,详情可见:https://github.com/CyC2018/Markdown-Resume项目clone后,个性Resuem.md即可,然后导出为pdf文件。简历建议长度为2页,太长太短都不好。建议用掌握与熟练掌握取代了解与精通。2刷题算法题可以说是现在找工作必刷的了。不过根据我面试的经验,算法题总得来说问的还是比较少,还有一些公司是基本不问算法的。当然如果碰到字节,快手这种每轮都问算法的公原创 2020-10-15 15:59:23 · 2110 阅读 · 6 评论 -
面试官: 说一下你做过哪些性能优化?
前言如果你已经有 2 - 3 年以上开发经验还不懂的怎么去优化自己的项目,那就有点说不过去了,下面是我自己总结的一套入门级别的 Android 性能优化。如果图片不清晰文末可以下载原始 xmind 图。如果你正在找工作, 那么你需要一份 Android 高级开发面试宝典:https://github.com/yangkun19921001/Blog1、 你对 APP 的启动有过研究吗? 有做过相关的启动优化吗?程序员:之前做热修复的时候研究过 Application 的启动原理。项目中也做过原创 2020-09-17 22:20:44 · 573 阅读 · 0 评论 -
98%Android开发者已收藏的“80”个开源库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T49ZHehW-1600260645033)(https://upload-images.jianshu.io/upload_images/24596414-a7d248c335ddcb8d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]在github上大神整理得一份学习Android非常好得资源,分享给大家。优质学习资源Android Developer原创 2020-09-16 20:51:07 · 609 阅读 · 0 评论 -
Kotlin 源码里成吨的 noinline 和 crossinline 是干嘛的?
原文:扔物线Android核心知识点笔记github:https://github.com/AndroidCot/AndroidJava 里有个概念叫编译时常量 Compile-time Constant,直观地讲就是这个变量的值是固定不变的,并且编译器在编译的时候就能确定这个变量的值。具体到代码上,就是这个变量需要是 final 的,类型只能是字符串或者基本类型,而且这个变量需要在声明的时候就赋值,等号右边还不能太复杂。总之就是你得让编译器一眼瞟过去就能看出结果。这种编译时常量,会被编译器以内联的.原创 2020-09-08 21:21:20 · 658 阅读 · 0 评论 -
ViewPager懒加载极致优化
01.ViewPager简单介绍ViewPager使用一个键对象来关联每一页,而不是管理View。这个键用于追踪和唯一标识在adapter中独立位置中的一页。调用方法startUpdate(ViewGroup)表明ViewPager中的内容需要更改。通过调用一次或多次调用instantiateItem(ViewGroup, int)来构造页面视图。调用destroyItem(ViewGroup, int, Object)来取消ViewPager关联的页面视图。最后,当一次更新(添加和/或移除)完.原创 2020-09-07 17:29:19 · 527 阅读 · 0 评论 -
做个酷炫的“锤子” 开关效果,隔壁产品都馋哭了
0概述一日,当我仔细观察锤子的Swtich控件时,其中的交互细节使我汗颜。这个小小的控件里好像包含了一万个细节,如同光秃秃的脑袋里装着满满的疑惑。内阴影、外阴影、按压效果、立体模拟等等,每个细节的完美呈现才能支撑这个控件的交互逻辑。要开发出这个控件,难度很大。这篇文章,就来开发这个锤子的开关控件。真·做个锤子的开关。1UI拆解1.1 细节分析1.1.1 内阴影开关背景的内阴影状态指示器的内阴影1.1.2 开关指示器的立体效果注意,开关指示器带有立体感,这种立体感是通过内阴影原创 2020-09-04 17:21:37 · 227 阅读 · 0 评论 -
京东把 Elasticsearch 用的真牛逼!
正文京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。我们把订单数据存储在MySQL中,但显然只通过DB来支撑大量的查询是不可取的。同时对于一些复杂的查询,MySQL支持得不够友好,所以订单中心系统使用了Elasticsearch来承载订单查询的主要压力。Elasticsearch作为一款功能强大的分布式搜索引擎,支持近实时的存储、搜索数据,在京东到家订单系统中发挥着巨大作用,目前订单中心ES集群存储数据量达到10原创 2020-08-31 11:37:37 · 215 阅读 · 0 评论 -
终于有人把大厂必问的Android技术点整理为PDF,简直是天才,已跪
一年中第一段跳槽高潮就要来了,看到同事一个个离职,又有一部分同事已经找到满意的工作,于是自己也盲目的开始面试起来(期间也没有准备充分),日夜奔走,简历投了很多家公司,然后就是一连串的面试蜂拥而来,但是很大一部分似乎技术面试还没有准备好,肚子里没有足够的存“货”,可能被面试官问到某个新的知识点或者你没有准备好的,而准备不充分的面试,完全是浪费时间,更是对自己的不负责(如果title很高,当我没说)。今天给大家分享下在跳槽时需要准备的Android面试宝典,其中大部分都是面试过程中的面试题,可以对照这查漏补缺原创 2020-08-28 13:50:08 · 398 阅读 · 0 评论 -
AS自定义模板,效率提升的不是一星半点
使用方法将模板下载回来,目录如下图所示:TanJiaJunActivityForDagger2:用于生成Dagger2版本的Activity对应的xml、Activity和ViewModel。TanJiaJunFragmentForDagger2:用于生成Dagger2版本的Fragment对应的xml、Fragment和ViewModel。TanJiaJunActivityForKoin:用于生成Koin版本的Activity对应的xml、Activity和ViewModel。TanJiaJ原创 2020-08-27 20:58:44 · 249 阅读 · 0 评论 -
Android低功耗蓝牙总结
首先要搞清楚一点,我们在 Android 中通过 SDK 获得的蓝牙广播包是经过底层的 SDK 给我们处理过的,是一个长度为 62 的字节数组。这个长度为 62 的字节数组是怎么来的呢?想要搞清楚这个问题,首先我们要明白 iBeacon 向外发送的最原始的广播包是什么样的?首先我们要搞清楚一点,蓝牙在向外发送数据的时候是分成两个部分的一个就是普通的广播包还有一个叫做应答包。这是蓝牙协议的规定内容,针对于所有的蓝牙设备(iBeacon 只是蓝牙设备的一种)普通的广播包格式是定义好的,长度为 30 b原创 2020-08-26 14:52:32 · 796 阅读 · 0 评论 -
Android卡顿真的是因为”掉帧“?
Android核心知识点笔记github:https://github.com/AndroidCot/AndroidAndriod 界面卡顿是因为掉帧,而掉帧是因为生产帧的速度跟不上消费帧的速度。消费帧的速度与屏幕刷新率挂钩,屏幕就像连环画,若一秒播放 60 帧,消费一帧的速度为 1000/60 = 16.6 ms,即每 16.6 ms 屏幕就会去取下一帧的显示内容,若没取到,只能继续显示上一帧,画面就停滞了,这就称为“掉帧”,听上去好像丢失了无法找回的东西一样,其实它是形容“显示内容错过了一次显示.原创 2020-08-24 15:49:36 · 1070 阅读 · 0 评论