自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

粉丝交流群:569545109

flutter-kotlin-NDK-Gradle-性能优化-移动架构-UI进阶-音视频高手开发从0到实战

  • 博客(77)
  • 收藏
  • 关注

原创 阿里权威官宣!深入了解Flutter,这一篇就够了

原文转自:腾讯技术工程当 Flutter 遇见 Web,会有怎样的秘密?在线教育团队(简称:OED)已经将 Flutter 这样技术在业务中落地了,做为 IMWeb 前端团队的我们也要进行一些尝试。本文从前端角度进行 Flutter 开发的概况描述。主要是为了让您了解和感受一下:Flutter to Web 的实例、Flutter 为什么会出现、Flutter 设计实现原理、Flutter 技术特点和优势。前言OED的客户端团队在 2019 年上半年 ,就已经把 Flutter 落地..

2020-05-23 21:26:37 2243 1

原创 被隐藏了,关于Android内存泄漏的那些事

概念内存泄漏(Leak):当一个无用的对象仍然被其它对象所持有引用,从而造成该对象无法被系统回收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费。最坏的情况下,内存泄漏会导致内存溢出。内存溢出(OutIfMemoryError,OOM):为了允许多进程,Android为每个应用程序分配的堆大小设置了硬性限制。确切的堆大小限制根据设备有多少内存总量而有所不同。如果你的应用程序使用的内存已达到该限制并尝试分配更多内存时,系统就会抛出OutOfMemoryError。原因单例模式下使用A

2020-05-31 20:06:26 497

原创 三分钟,带你了解Android音`视频开发进阶

正文说到安卓的视频开发,大多数朋友们都是用着开源的播放器,或者安卓自带的native mediaplayer,拿来主义居多,我曾经也是。。。最近这半年因为开始着手重构公司的播放器,也开始学习了很多视频音频开发的相关知识,抱着独乐乐不如众乐乐的想法,开始写一些值得分享的东西。这次的连载和之前的RxJava分享一样,会分开不容的章节。第一次我打算分享一下视频开发中常见的一些知识点,概念和术语,给不熟悉的朋友们先"扫扫盲"。在之后的章节我会慢慢的介绍除了基本的在线视频播放技术之外,一些更加“高级”的技术

2020-05-31 19:54:37 1087

原创 字节跳动选择Flutter的现状与工程实践

Flutter 是当前跨平台技术中最火的一项,在提供极好的用户体验的同时,还能解决多端一致性问题,并有效降低人力成本。字节跳动希望把 Flutter 打造成下一代研发体系,支撑众多 App 的各种使用场景,为此,团队在 Flutter 上大力投入,覆盖了引擎技术、平台服务、开发框架等多个维度。Flutter 在字节跳动的现状Flutter 的优势与业务现状为什么选择 Flutter其主要有以下四个原因:性能体验 开发效率 高度一致性 高可控制性性能体验与开发效率作为官方一直在宣传的两个重

2020-05-31 19:50:57 1215

原创 你有用过Flutter吗? Flutter架构是怎么样?为什么会比其他如ReactNative好?

面试官:你有用过Flutter吗? Flutter架构是怎么样,为什么会比其他如ReactNative好心理分析:面试官所在的项目是用Flutter 开发的,或者正在转Flutter这种技术。如果你不会,面试官在第一眼会认为后面来应聘的人或许会、为了杜绝这种情况发生,你一定要说以前研究过,写过相关代码。其实”有用过Flutter“对大多数求职只是 会与不会 的问题。这不是面试官 想了解的。面试官的重点 你了解的有多深。接下来,会问你他的原理 你是怎么看。 它的优缺点。为什么比其他的好。从原理层来解析...

2020-05-29 14:45:42 423

原创 Android 调用相机拍照,适配到Android 10?

今天写的博客是关于Android调用手机相机拍照并显示图片。这是一个很常用的功能,并且这个功能在Android6.0、7.0、10.0等版本上实现都有所不同,需要对Android各个版本进行兼容适配,目前最新的Android版本是Android 10,所以这篇博客适配到Android 10。我自己也写了个demo,方便以后要使用的时候直接拿来。调用相机,首先需要申请相机权限。<uses-permission android:name="android.permission.CAMERA.

2020-05-29 14:39:59 546

原创 Flutter之撸一个漂亮的登录界面的总结

介绍最近学习了Flutter的一些控件使用,然后在Github上面看见了一个挺漂亮的登录界面,于是就用Flutter自己模仿地实现了一下。原作者做得比较好看,不过只是单纯实现界面。所以自己加了些东西,比如Key的使用和InheritedWidget的使用。下面是一些总结,如果有说错的地方,还请各位指出来,谢谢。最终的展示界面代码结构每个类的名字,相信大家一看就知道对应的作用类。每个类的作用,我在代码里面都有注释,可以去看下代码。主要用到的控件 利用Row,Column沿水平

2020-05-29 14:31:59 432

原创 对于Tersorflow你怎么理解的?有做过人工智能的应用吗?

面试官: 对于Tersorflow你怎么理解的,有做过人工智能的应用吗心理分析:了解tersorflow并且应用到项目中的,可谓少之又少。国内几乎没有多少Android开发者对人工智能有过认识。也不明白人工智能对Android带来的风险与机会。如果面试官问到了tersorflow 一定是想深挖你。在问这个问题就已经决定要你了。人工智能可以说相当重要,往往会忽略调并发处理 ,这道题会难住绝大多数人求职者:对人工智能的理解入手。告诉面试官 我以前做过一个电视机识别 手势的功能接下来我们来分享什么是

2020-05-28 16:07:20 471

原创 我还是挂在了腾讯微视~Android开发5年,准备3个月

大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助。最近跟一个读者“MuMu”聊天,他准备了3个月,最近面了大大小小的互联网公司后,感觉还可以,又投了腾讯。刚刚参加了腾讯微视的第三面,视频面,嗯,挂了…小厂背景、15年毕业、普通学校,这看起来确实没什么战斗力,但能够挺到腾讯三面,也说明他是能力不错的了,但是输在哪儿了呢?他跟我讲了一下面试官问过的题:让我们来一起看看腾讯微视第三面,面试官都问了什么呢?你能答上来多少? ArrayLis

2020-05-28 15:50:11 609

原创 Android程序员,你是如何被面试官加减分的!!!

由于肺炎疫情的影响,不少同学年初跳槽的计划被搁置。虽然计划被打乱,但是这也给我们留出时间更好的准备面试。随着企业复工时间的延长,不少公司裁员、降薪甚至倒闭,之后只会更难。看了不少「面试官说」系列的文章,都是由点及面的技术性文章,但真正的面试并不至于此,长时间的准备也容易对目标产生偏移,今天推荐给大家一篇字节跳动面试官的文章,看看大厂的面试官是怎么想的。头条面试官:“我也知道尽管很多人都讨厌” 面试造航母,工作螺丝钉 “的局面,但又不得不做准备,毕竟从大海筛选一个合适的人太难了” 确实大环境如此!

2020-05-27 15:59:14 268

原创 理解Android硬件加速原理的小白文

硬件加速,直观上说就是依赖GPU实现图形绘制加速,软硬件加速的区别主要是图形的绘制究竟是GPU来处理还是CPU,如果是GPU,就认为是硬件加速绘制,反之,软件绘制。在Android中也是如此,不过相对于普通的软件绘制,硬件加速还做了其他方面优化,不仅仅限定在绘制方面,绘制之前,在如何构建绘制区域上,硬件加速也做出了很大优化,因此硬件加速特性可以从下面两部分来分析:1、前期策略:如何构建需要绘制的区域本文地址2、后期绘制:单独渲染线程,依赖GPU进行绘制无论是软件绘制还是硬件加速,绘制内存的分..

2020-05-27 15:47:10 259

原创 干货拿走:深入解析Kotlin 泛型

0. 引子Kotlin 100% 与 Java 兼容,所以抛开语言表面上面的种种特质之外,背后的语言逻辑或者说“灵魂”与 Java 总是想通的。本文只涉及 Kotlin Jvm,Kotlin Js、Kotlin Native 的具体实现可能有差异。最近一段时间在网上发了一套 Kotlin 的入门视频,涵盖了基础语法、面向对象、高阶函数、DSL、协程等比较有特色的知识点,不过有朋友提出了疑问:这门课为什么不专门讲讲泛型、反射和注解呢?我最早听到这个问题的时候,反应比较懵逼,因为我居然没有感觉到 K

2020-05-27 15:41:08 387

原创 当上阿里面试官后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。01、简历的本质作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深处说,简历就是一块敲门砖,它通过白纸黑字的方式告诉招聘方,我是谁,我想来贵公司担任什么职位,我能够完成什么样

2020-05-26 16:28:20 415

原创 阿里P7 Android面试真题解析:2020最新出炉(累计下载1082万次)

前言大家好!给大家介绍一下,这是我们持续更新整理的2020年最新的阿里;百度;腾讯;字节跳动等大厂的Android面试真题解析!早在2018年我们就建了第一个BAT等大厂的面试群给大家讨论面试的东西。期间累计有2158个群友分享了自己的Android面试真经,并提供了参考答案。这其中就有很多成员已经斩获今日头条、抖音、阿里P7等岗位的offer。当然也有很多成员面试虽然失败了,但也分享了很多失败的经验教训。在这里一并对他们表示感谢!正是因为大家的奉献和支持,让我们的这份面试真题解析已经累计下..

2020-05-26 16:18:04 1019

原创 干货分享:Android Studio 学习之 Debug 调试

前言正所谓,工欲善其事必先利其器,对于一个程序员来说,IDE就是我们器啊。IDE掌控的越熟悉,工作效率就越高(划水摸鱼的时间更多),所以要想效果更高(摸更多的鱼),就要好好学习如何使用IDE。作为一个Android开发是无疑是幸福的,背靠Google爸爸,加上JetBrain的加持(JB大法好),所以就有了最完美的(不接受反驳)IDE—Android Studio(下文都以AS简称),就是有点吃内存哈????,当然在16G内存的MBP上这些都不是事。虽然做了3年的Android开发,对于AS一直都是

2020-05-26 16:14:53 462

原创 分享一下Android开发11年,我眼中程序员的三六九等

前言移动研发在最近两年可以说越来越趋于稳定,因为越来越多人开始学习Android开发,造成市场参差不齐。正所谓入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,并且对于初级中级高级需要怎么进行成才,很多人都比较迷惑。这是一线互联网公司Android岗位薪资职位图谱。为了方便大家成才,我把初级、中级、高级和资深四个常见的岗位需要掌握的一些知识进行如下整理。初级初级研发工程师的定义是掌握基础的Android知识,能够独立完成一个功能,工作年限大概在1-2年,这个层级大部分人通过看一

2020-05-25 16:36:15 440

原创 赶紧收藏!!腾讯T3面试官透露!Android高级开发岗必问知识点

前言:春招已经接近尾声了,不知道各位小伙伴有没有找到自己心仪的工作呢。笔者前几天内推刚刚收获了腾讯高级开发岗的offer,得益于内推朋友面试时的面试经验,照着他给的方向复习刷题,顺利的通过了面试。在这里也无偿分享给广大网友们,喜欢也能帮助到你们。如果觉得文章不错,烦请点个关注转发,谢谢!Android高级知识点一、Android性能优化1.描述一下android的系统架构?2.Android线程间通信有哪几种方式3. 如何避免OOM异常4.Android程序运行时权...

2020-05-25 16:31:29 412

原创 干货分享:Android线程池设计原理

进程:每个app运行时前首先创建一个进程,该进程是由Zygote fork出来的,用于承载App上运行的各种Activity/Service等组件。进程对于上层应用来说是完全透明的,这也是google有意为之,让App程序都是运行在Android Runtime。大多数情况一个App就运行在一个进程中,除非在AndroidManifest.xml中配置Android:process属性,或通过native代码fork进程。线程:线程对应用来说非常常见,比如每次new Thread().start都

2020-05-25 16:26:38 264

原创 三分钟,带你了解Activity的启动流程

考察要点:启动Activity会经历哪些生命周期回调 冷启动大致流程,涉及哪些组件,通信过程是怎么样的? Activity启动过程中,生命周期回调的原理?总的流程图:1. 进程A与AMS的交互过程此处以跨进程启动Activity分析一下源码流程: A调用startActivity时,需要与AMS交互,此时需要需要获取到AMS的代理对象Binder也就是上图的AMP,通过ActivityManagerNative.getDefault()获得,并调用AMP的startActiv.

2020-05-23 21:19:49 322

原创 “吹Kotlin协程的,可能吹错了!” 带你真正理解一波

1概述目录前言Kotlin协程,现在已经成为了面试甚至是工作中一个非常火的东西。本人在刚开始了解Kotlin协程的时候,断断续续看了网上不少文章,用长篇大论把Kotlin协程描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来写一篇关于协程的文章,希望能够帮助大家能够更快的上手Kotlin协程.注意:如果没有特殊提及,文中所有“协程”均代表“Kotlin协程”2为什么要学习Kotlin协程?(官方版)现在Android技术栈上的新东西层出不穷,kotlin、jetpack、

2020-05-23 20:55:30 1750 2

原创 程序员职场中的中年危机:30~40岁的年纪

中年危机的话题,这几年非常火,我们看到这个词,心里都不免咯噔一下。毕竟,除了身处其中的中年人,对其最关心的,莫过于二十多岁的职场青年人了。我未到中年,身边熟悉的不少朋友,从事互联网行业,年龄在 35 岁附近。常常,我通过观察他们,想象自己的未来的样子。这些朋友,更准确的说,是我的老师,师兄,前辈,在三十多岁的年纪,人生境况各不相同。有位师兄,打拼多年,现在的职级是阿里 P9。这一两年和他联系较多,主要是作为晚辈后生请教问题。阿里集团有十万员工,在 P9 职级的员工只有寥寥千人,所能够获得的工..

2020-05-22 16:27:38 598

原创 大厂五年面试统计,高频面试知识点最后再发一次,收藏!!!

目录:1.网络2.Java 基础&容器&同步&设计模式3.Java 虚拟机&内存结构&GC&类加载&四种引用&动态代理4.Android 基础&性能优化&Framwork5.Android 模块化&热修复&热更新&打包&混淆&压缩6.音视频&FFmpeg&播放器1、网络网络协议模型应用层:负责处理特定的应用程序细节HTTP、FTP、DNS传输

2020-05-22 16:24:06 320

原创 分享Android Studio中Gradle依赖

一、不同类型的library引入方案:1、本地Module library依赖:通过这种方式依赖的弊端是每次都需要构建module,当module比较多时构建非常耗时,建议控制module的依赖数量,避免构建耗时//module需要在项目根目录下的settings.gradle中通过include引入implementation project(':librarydict')2、本地二进制library依赖:jar和aar:本地的jar和aar需要放在module的libs文件夹

2020-05-22 16:15:25 258 1

原创 水壶的问题—字节跳动Android岗面试题

有钱的字节跳动面试题就是这么枯燥无味!原题:给你一个装满水的 8 升满壶和两个分别是 5 升、3 升的空壶,请想个优雅的办法,使得其中一个水壶恰好装 4 升水,每一步的操作只能是倒空或倒满。理解了这个题目的意思之后,我们的第一个方法肯定就是使用强大的脑力来进行暴力破解法,瓶子里的水在我们的脑子里颠三倒四,但是脑子有可能没那么清晰,想了几步之后就开始出现记忆错乱,然后就不得不开始慢慢重播。 甚至到最后好不容易搞定了,但是怎么走过来的步骤又给忘记的一干二净 —— 智商好像受到了点小小的侮辱!这道

2020-05-21 16:28:29 246

原创 干货分享:Dynamic Programming(动态规划)最细解题思路+代码详解

动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。对于动态规划,春招秋招时好多题都会用到动态规划,一气之下,再 leetcode 连续刷了几十道动态规划的题之后,豁然开朗 ,感觉动态规划也不是很难,今天,我就来跟大家讲一讲,我是怎么做动态规划的题的,以及从中学到的一些套路。相信你看完一定有所收获如果你对动态规划感兴趣,或者你看的懂动态规划,但却不知

2020-05-21 16:19:27 201

原创 Android企业面试必不可少的一关【Flutter】

前言近年来,跨平台技术开发 App 在各端都广受欢迎,越来越多的跨平台架构也层出不穷。不论是桌面端框架 Electron,移动端框架 React Native 和 Flutter 都是为了可以让开发者能够一份代码走天下而产生。Flutter 跨端技术一经推出便在业内赢得了不错的口碑,其在“多端一致”和“渲染性能”上的优势让其他跨端方案难以望其项背。这也导致大厂面试基本上都会遇到Flutter相关的问题,而许多朋友也被挡在了这里,下面我就整理了自己面经的关于flutter的面试知识点,希望对有需要

2020-05-21 16:10:39 359

原创 三分钟让你深入了解//MVC、MVP、MVVM模式(深度解析、全实例讲解)

在Android开发中,当你梳理完需求后,你要做的并不是马上写下你的第一行代码,而是需先设计好整个项目的技术框架 今天,我将全面介绍Android开发中主流的技术框架MVC、MVP与MVVM模式,并实例讲解MVP模式,希望您们会喜欢。目录1. 为什么要进行技术框架的设计模块化功能 使得程序模块化,即:内部的高聚合、模块之间的低耦合 提高开发效率 开发人员只需专注于某一点(视图显示、业务逻辑 / 数据处理) 提高测试效率 方便后续的测试 & 定位问题切记:不要为了设..

2020-05-20 17:01:42 328

转载 一篇就够!!!Flutter 最全开源项目,从新手到Flutter架构师,(详解UI、导航、网络、导航、音视频...)

作者:xiangzhihong链接:https://juejin.im/post/5de48586e51d455c0172baac来源:掘金Flutter是Google推出的一套开源跨平台UI框架,可以快速地在Android、iOS和Web平台上构建高质量的原生用户界面。同时,Flutter还是Google新研发的Fuchsia操作系统的默认开发套件。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。作为目前最流行的跨平台技术框架,Flutter受到

2020-05-20 16:43:36 841

原创 数据统计安卓面试重点分布:Java+自定义View+性能优化+NDK+Flutter

安卓面试的重点是哪些?我收集整理了各种关于安卓面试资料,汇集了大厂和小公司的面经分享与面试题。技术不断在更新。通过整理分析各大公司最新面试题,更好掌握安卓市场需求。Android面试最常问的技术面;Java相关的基础,数据结构与算法,性能调优、设计模式、NDK技术,人工智能,音视频开发以及混合开发等。我总结了这些安卓面试所涉及到的常问范围及常问面试题(含答案),以及系统的进阶视频资料。并且每个技术专题做了技能树整理。其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了..

2020-05-19 16:50:37 189

原创 干货分享:Android应用测速组件实现原理

Rabbit是目前我正在开发的一个框架,它主要用来提高App开发的效率和质量,总体定位上偏向于一个APM框架。统计应用冷启动时长、页面渲染时长是APM系统不可缺少一个功能。Rabbit中这个功能的实现主要参考自Android自动化页面测速在美团的实践,目前已经完成下面功能点:Application.onCreate耗时统计 应用冷启动耗时统计 Activity.onCreate耗时统计 Activity首次inflate耗时统计 Activity首次渲染耗时 页面网络请求耗时监控具体统计

2020-05-19 16:40:48 483

原创 保证你所知道不全面的Android 11 新特性!!!

前不久,谷歌发布了Android 11 的预览版,从开发者预览版我们可以了解到,Android 11增强了对用户隐私的保护,提供了很多吸引用户的新特性,并且可以更好地支持可折叠设备和 Vulkan 扩展程序等等。谷歌官方的资料显示,Android 11 开发者预览版计划从 2020 年 2 月启动,到向 AOSP 和 OEM 提供最终的公开版本时结束,最终版本预计将于 2020 年第 3 季度发布,详细情况可以查看Android 11时间轴、里程碑和更新下图是官方发布的Android 11时间轴。

2020-05-19 16:26:28 413

原创 大厂面试送分题:如何加载100M的图片却不撑爆内存? 你会怎么答?

还记得当年面试一个面试官问我怎么加载巨图才能不撑爆内存,我没回答上来,他说分片显示,我寻思特么分片能减少内存使用??现在可以打他脸了!内容扩展1.图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理?2.内存中如果加载一张 500*500 的 png 高清图片.应该是占用多少的内存?3.Bitmap 如何处理大图,如一张 30M 的大图,如何预防 OOM?938页面试宝典PDF。更多面试内容,面试专题,flutter视频 全套,音视频从0到高手开发。免费获取面.

2020-05-18 15:22:29 171

原创 震惊!!!腾讯竟然又开源一套Android原生UI框架!

今天在浏览技术新闻的时候,发现腾讯就在今天开源了一套 Android 原生的 UI 框架。你们有没有发现,腾讯特别喜欢干这种事,哪一种事呢?喜欢开源 UI 框架,小程序也是这样的。我看到这个新闻后,第一时间就下载了 Demo ,体验了这个原生的 UI 框架,可以说,真的是非常的不错。跟他们说的理念是一样的。这个开源框架就是:QMUI_Android ,它的 Slogan 是:提高 Android UI 开发效率的 UI 库。QMUI Android 的设计目的是用于辅助快速搭建一个具备基本设..

2020-05-18 15:17:26 617

原创 重磅来袭:Android Studio 3.6 发布啦,快来围观

Android Studio 3.6 稳定版终于来了,此版本的 Android Studio 包括对一些设计工具的更新,包括布局编辑器和资源管理器。该版本的更新需要 Plugin 对应更新支持,比如Dart和Flutter对应的插件需要同步更新,首次启动可能比较卡,吃性能。3.6.1 新的更新中移除了多重预览功能已删除,4.0 版本才正式开放;此外并修复了Git版本控制身份验证问题一、设计工具此版本的Android Studio包括对一些设计工具的更新,其中包括了布局编辑...

2020-05-18 15:12:01 309

原创 谁会被淘汰?Flutter VS Kotlin

原文;https://www.infoq.cn/article/AJUsMBfwQqTiDU7iyRt4我们在早些时候已经对比过 Flutter 和 React Native 了,这篇文章就来对比一下 Flutter 与 Kotlin 吧。曾经有一段时间,跨平台开发就是 " 使用 React Native 和 Flutter 构建应用 " 的代名词。个人开发者和移动应用开发公司都会依赖这两个框架,从而以更加经济和高效的方式同时在 Android 和 iOS 上推出自己的产品。但是现在,Ko.

2020-05-16 21:03:42 1377

原创 重磅来袭:Android UI 线程更新UI也会崩溃???

在平时的Android开发中,如果一个新手遇到一个这样的错:android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:8066) at andro

2020-05-16 20:45:00 248

原创 你有几种实现方案Android 设备唯一标识?

前言项目开发中,多少会遇到这种需求:获得设备唯一标识DeviceId,用于:1.标识一个唯一的设备,做数据精准下发或者数据统计分析;2.账号与设备绑定;3.....分析这类文章,网上有许多资料,例如:使用IMEI、MAC等作为设备标识使用。不过,看过这些文章或者深入调研的同学应该都清楚,这些数据均存在缺陷:有的因为权限无法获取到,有的获取出来是重复的,有的完全获取不到,也就是说不能完美的解决设备唯一的问题。那么,用什么数据才能表示设备唯一呢?方案方案1:UUID + Shar

2020-05-16 20:40:56 445

原创 Android一行解决所有双击优化的问题

背景产品想对多次快速点击做一下优化,想要的效果就是双击不会打开多次。但是从开发角度来说,我可以用kotlin的拓展方法来调整这个,但是之前的历史债务可能会把我让我有点手足无措,同时java代码也会有问题。有没有什么方法可以让开发可以投机取巧呢,我想到了去年项目里写到的插桩埋点的方式,是不是我只要在编译的时候编织插入字节码就可以解决这个问题了。transform简介在打包流程中,我们知道生成.class文件后,利用dx工具生成.dex文件,而利用Transform API可以在生成.class

2020-05-15 15:55:30 321 1

原创 大厂划重点总结5个Kotlin 小特性

据我们所知,有‘已知的已知’,有些事,我们知道我们知道;我们也知道,有‘已知的未知’,也就是说,有些事,我们现在知道我们不知道-- 唐纳德·拉姆斯菲尔德我已经使用Kotlin差不多两年了,我最开始时为了技术演讲将它用于一个实验项目。你还记得那个时候 Kotlin 使用的是traits而不是interfaces? 从写下第一行代码开始,我就知道这门语言将改变我的生活,你知道发生了什么吗?我预测的完全正确。知识使你变得更强大,这就是为什么世界的大多数成功的工程师总是在学习新...

2020-05-15 15:39:02 202

原创 干货分享:如何用Retrofit直接获得Json数据(字符串)

最近由于想对项目进行一些RxJava的重构,顺带看了一下RxJava与Retrofit的结合,才知道了Retrofit这个网络框架(泪奔)。对于Retrofit的使用以及结合这里就不赘述了,主要是发现Retrofit对于数据的返回都是直接做了解析,但有些时候,我们需要原始的返回数据,或者原始的json,这个时候该怎么办?(一个大写的懵逼)幸好,在尝试过程中,报了一个Exception,问是否是想获取 ResponseBody?于是,查到 OkHttp内有 ResponseBody 这个类,具体如下(

2020-05-14 16:20:14 695

空空如也

空空如也

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

TA关注的人

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