- 博客(14)
- 收藏
- 关注
原创 2020 Android 大厂面试-插件化、模块化、组件化、热修复、增量更新、Gradle
插件化、模块化、组件化、热修复、增量更新、Gradle1.对热修复和插件化的理解2.插件化原理分析3.模块化实现(好处,原因)4.热修复、插件化5.项目组件化的理解6.描述清点击 Android Studio 的 build 按钮后发生了什么参考答案:1.对热修复和插件化的理解blog.csdn.net/github_3713…Android 类加载器PathClassLo...
2020-03-31 20:56:47 1156
原创 五分钟带你读懂TCP协议(图文并茂)
TCP 是互联网核心协议之一,本文介绍它的基础知识。一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。(图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。)最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。(图片说明:以太网协议解决了局域网的点对点通信。)但...
2020-03-31 16:09:22 367
原创 是时候丢掉 onActivityResult 了 !
为什么要丢掉 onActivityResult ?如何启动一个新的 Activity,并获取返回值?你的答案肯定是 startActivityForResult和 onActivityResult 。没错,一直以来,在某些场景下,例如启动系统相机拍照,返回当前页面后获取照片数据,我们并没有其他选择,只能在 onActivityResult 中进行处理。在最新的 Activity 1.2.0-...
2020-03-30 17:21:26 1144
原创 面试官:如何实现一个LruCache,原理是什么?
1. 简介LRU 是 Least Recently Used 最近最少使用算法。曾经,在各大缓存图片的框架没流行的时候。有一种很常用的内存缓存技术:SoftReference 和 WeakReference(软引用和弱引用)。但是走到了 Android 2.3(Level 9)时代,垃圾回收机制更倾向于回收 SoftReference 或 WeakRe...
2020-03-27 15:58:50 1063
原创 杀不掉的知乎 - 聊一聊 Android 的多任务
保活在 Android 绕不开的话题,有些 APP 为了保活煞费苦心。近来发现打开知乎,在近期任务却看不到知乎,知乎是怎么做到这么强悍的。下面分享来自 NanBox 博客,来揭开知乎是如何做到在近期任务完美隐藏的:不知道大家平时使用 APP 的时候,有没有碰到过下面这种情况:这是我在最近使用知乎的时候出现的,可以看到在任务列表里面看不到知乎,但很明显它还在运行中。你现在...
2020-03-26 14:41:44 494
原创 用Dart语言来写异步程序
正文废话不多说,开始进入今天的主题吧!async 和 await开始说这两个关键字之前我觉得有必要提一下:在Dart中没有子线程一说,所有代码都是在一条主线上运行的,所以需要用异步来实现一些耗时操作。(如果非要开启多线程需要使用隔离,这里不做叙述)来说一下这两个关键字吧,async用来修饰方法,需要写在方法括号的后面,await写在方法里面,这里要注意:**await关键字必须在async...
2020-03-25 16:03:38 230
原创 来聊聊 Android Jetpack
在Android架构组件基础上,融入Kotlin 协程+retrofit,模拟网络,全面快速开发。NavigationNavController在 NavHost 中管理应用导航的对象,沿导航图中的特定路径导航至特定目标,或直接导航至特定目标。首先,定义 layout/activity_main.xml <fragment android:id="@+id/nav_...
2020-03-24 15:01:57 203
原创 面试官:说说Android的UI刷新机制?
本文主要解决以下几个问题:我们都知道Android的刷新频率是60帧/秒,这是不是意味着每隔16ms就会调用一次onDraw方法?如果界面不需要重绘,那么16ms到后还会刷新屏幕吗?我们调用invalidate()之后会马上进行屏幕刷新吗?我们说丢帧是因为主线程做了耗时操作,为什么主线程做了耗时操作就会引起丢帧?如果在屏幕快要刷新的时候才去OnDraw()绘制,会丢帧吗?好了,带着...
2020-03-20 16:11:45 536
原创 聊聊OkHttp实现WebSocket细节,包括鉴权和长连接保活及其原理!
一、序OkHttp 应该算是 Android 中使用最广泛的网络库了,我们通常会利用它来实现 HTTP 请求,但是实际上它还可以支持 WebSocket,并且使用起来还非常的便捷。那本文就来聊聊,利用 OkHttp 实现 WebSocket 的一些细节,包括对 WebSocket 的介绍,以及在传输前如何做到鉴权、长连接保活及其原理。二、WebSocket 简介2.1 为什么使用 WebS...
2020-03-19 21:31:16 1264 1
原创 Android SDK 开发经验浅谈
1. 前言从事 SDK 的研发工作有近两年的工作时间了,期间一直在维护和开发公司的 Android 数据采集埋点 SDK。主要想通过这篇总结简要介绍下 SDK 开发过程中的一些经验。1.1 什么是 SDK相信做 Android 开发的同学,肯定使用过很多第三方的 SDK,比如极光 SDK、支付宝 SDK、微博 SDK 等等。所谓 SDK 就是一个开发工具包,全称是 Software Dev...
2020-03-19 16:19:53 1238
原创 我才知道原来Flutter内置了10多种Button控件
注意:无特殊说明,Flutter版本及Dart版本如下:Flutter版本: 1.12.13+hotfix.5Dart版本: 2.7.0Flutter内置了10多种Button(按钮)类控件供我们使用,了解这些控件有助于提高我们的开发速度。RaisedButtonRaisedButton是一个material风格”凸起“的按钮,基本用法:RaisedButton( chil...
2020-03-17 20:56:40 476
原创 Android一次完美的跨进程服务共享实践
背景最近需要做这样一个事情,一个服务来完成多款App的录音功能,大致有如下逻辑服务以lib的形式集成到各个端当主App存在时,所有其他App都使用主App的录音服务当主App不存在时,其他App使用自带录音服务有优先级,优先级高的App有绝对的录音权限,不管其他App是否在录音都要暂停,优先处理高优先级的App请求支持AudioRecord、MediaRecorder两种录音方案...
2020-03-16 16:45:45 334
原创 1个人,100天业余时间,用Flutter开发完一个商业APP
项目介绍这个一个淘电商APP,同类型的APP有花生日记、好省、折800等等,基本上一个常规电商APP该有的,这个项目都有了。目前,该项目的完成度为80%,剩余的20%因为没有后台项目支持,所以无法完成。为啥要做这个东西勒,因为作为Flutter的早期研究者,有不少人都问过我,Flutter现在可不可以做商业项目?现有的原生项目接入Flutter靠不靠谱?Flutter会不会有很多功能不能实现?...
2020-03-02 21:26:54 1135 1
原创 Kotlin 在Android开发中那些让人舒适的地方
0前言目前公司的项目已经全面使用Kotlin,转换的过程的确不是怎么让人舒适,但是让人欣慰的是结局是让人满意的。Kotlin的确可以让代码简洁,安全并且高效。这里分享一下,在使用Kotlin中那些让人觉得舒适的地方。字符模板空安全延迟加载方便易读的循环强大易用的迭代器默认参数DataClass简短而强大的标准函数库通吃的when(结合密封类会让代码更舒适)扩展简单的Bun...
2020-03-02 21:24:24 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人