framework
文章平均质量分 95
Web_boom
这个作者很懒,什么都没留下…
展开
-
「知识点」LiveData为啥连续postValue两次,第一次的值会丢失?
有一天,我正听着歌,开心的敲着代码,这时候小王同志急冲冲的跑过来拍了拍我的肩膀,“付老板,我这遇到一个问题,连续两次请求同一个接口,参数传的不同,但是livedata的onChange回调只走了一次,UI界面上只有一个地方更新成功了,这是咋回事啊?”一听有bug,这我可就来劲了,立马摘下耳机,“来,上代码”,“诶~ 你这是在UI层注册了一个监听,然后在请求接口的地方,利用livedata连续postValue两次。看情况你这应该是postValue搞的鬼,不急,我来模拟下场景,看看他的内部实现”。原创 2022-02-25 16:07:53 · 1480 阅读 · 1 评论 -
横屏适配方案复盘暨DialogX 平板适配指南
引言首先关于 Android App 如何进行平板适配,推进阅读文章:【Android平板适配】手机/平板二合一应用一站式适配攻略@尼特胡其中需要注意的点在这里写出来:1.如何使 Activity 不会因为切换横竖屏自动重启在 AndroidManifest.xml 中的 Activity 节点增加以下配置:<activity ... android:configChanges="screenSize|smallestScreenSize|screenLayout|orien原创 2022-02-25 13:43:36 · 839 阅读 · 0 评论 -
「Glide源码分析」
「Glide源码分析」一、主体模块二、从基本使用说起Glide的使用很简单核心代码只有一行:String url = "https://pic.netbian.com/uploads/allimg/211013/232957-16341389973a59.jpg";Glide.with(this).load(url).into(imageView); Glide#with();with(context)方法属于Glide中一组静态的重载方法,排除已经过时的方法主要有: @NonNull原创 2022-02-24 22:23:55 · 667 阅读 · 0 评论 -
《Android编程权威指南》之音频播放与单元测试(一)
《Android编程权威指南》第 20 章,本章将会学习到单元测试,所谓单元测试就是编写小程序去验证主应用各个单元的独立行为,即测试一个个的类。一、创建 SoundPoolSoundPool.Builder 可以创建一个 SoundPool 实例。setMaxStreams(Int) 可以指定某个时刻同时播放多少个音频BeatBox.kt:...private const val MAX_SOUNDS = 5class BeatBox(private val assets: AssetManag原创 2022-02-24 21:41:26 · 451 阅读 · 0 评论 -
《Android编程权威指南》之HTTP与后台任务(一)
《Android编程权威指南》第 24 章啦,本章又有个新应用啦,叫 PhotoGallery,用来获取 Flickr 网站的最新公共图片「不限版权的图片」。本章将学习 Retrofit 网络请求库,Json 数据,Gson 解析 Json 等等。一、创建 PhotoGallery 应用按照惯例,创建应用,先写下 xml 文件,这里又是用 activity 嵌 fragment 的方式。 main_activity.xml:<?xml version="1.0" encoding="utf-8"原创 2022-02-24 20:16:53 · 314 阅读 · 0 评论 -
[译]Flutter用WebView插件webview_flutter
本文翻译自pub: webview_flutter | Flutter Package (flutter-io.cn)译时版本: webview_flutter 3.0.0用于 Flutter 的 WebView提供 WebView 组件的 Flutter 插件。在 iOS 上 WebView 组件基于 WKWebView;在 Android 上 WebView 组件基于 WebView 。用法添加 webview_flutter 依赖到 p原创 2022-02-24 16:58:34 · 1373 阅读 · 0 评论 -
[译]Flutter调用原生应用打开文件插件open_file
使用要使用该插件,需要在 pubspec.yaml 中添加依赖。dependencies: #androidx open_file: ^lastVersion #support #open_file: ^1.3.0 示例import 'package:open_file/open_file.dart';OpenFile.open("/sdcard/example.txt");//OpenFile.open("/sdcard/example.txt", type: "text原创 2022-02-24 16:21:42 · 3141 阅读 · 0 评论 -
[译]Flutter Favorite之方便用户反馈的组件库feedback
本文翻译自pub: feedback | Flutter Package (flutter-io.cn)译时版本: feedback 2.4.1[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-clgiJzP7-1645606839871)(https://rawgit.flutter-io.cn/ueman/feedback/master/img/feedback.svg)]将该库用作商业产品?可以考虑成为赞助者.用于获取更好的反馈的 Flutter 包。它允许原创 2022-02-23 17:01:06 · 670 阅读 · 0 评论 -
[Matrix系列-3]: TracePlugin 之 FrameTrace 源码分析
开篇第二篇文章中,我们分析了 TracePlugin 中的 LooperAnrTrace 类。今天这篇文章接着分析 TracePlugin 中的 FrameTrace 类源码。一、FrameTrace的触发时机1.1 TracePlugin. start() 方法注意看,在 TracePlugin 类的start() 方法中,调用了所有 Trace 类的 onStartTrace() 方法:@Overridepublic void start() { // ... 省略 Runn原创 2022-02-23 15:10:48 · 647 阅读 · 0 评论 -
[Android进阶】Handler机制原理解析
Handler是Android中提供的一种异步回调机制,也可以理解为线程间的消息机制。为了避免ANR,我们通常会把一些耗时操作(比如:网络请求、I/O操作、复杂计算等)放到子线程中去执行,而当子线程需要修改UI时则子线程需要通知主线程去完成修改UI的操作,则此时就需要我们使用Handler机制来完成子线程与主线程之间的通信。Handler的一般使用步骤在明确了Android中只有主线程能修改UI界面、子线程执行耗时操作的前提后,下面一起来学习下Handler的使用步骤。在主线程中创建Handler原创 2022-02-23 14:52:24 · 8230 阅读 · 2 评论 -
Android开发:“等风口过了,该掉下来的猪都会掉下来”。
前言最近在知乎上看到一则15年的帖子:“毕业一年不到,做Android开发现在我很迷茫?求知乎前辈指点”,本一看标题,还以为是在当下Android行情一片“哀嚎”下的有一贴焦虑贴,可仔细一看时间,发帖时间竟然是在Android开发最火热的15年。题主所焦虑的是,在15年Android开发形势一片大好的前提下,自己一个二本学历毕业一年跳槽就拿到15k的薪资,但是入职发现公司的代码和项目管理都非常的不规范,自己不想去完善这些遗留的垃圾代码,也担心小公司学不到东西。再加上之前跳槽时是打算先学习进阶一段时间原创 2020-12-09 17:04:34 · 322 阅读 · 0 评论 -
我做了五年Android应用层开发,凭什么比一个两年Framewor开发的“年轻人”工资低10k?
前言如果你最近在找工作或者有关注Android行业的招聘这一块就会发现,现在很多公司,特别是大厂在招聘高工或者架构师的时候都会将熟悉framework原理或源码列为招聘要求之一。那么作为一个Android开发者是否都要去学习framework呢?又该如何去学习呢?我们今天来聊一聊Framework开发的那些事。为何需要学习framework系统应用开发,现在来说,已经开始脱离系统,单独拿出来开发,系统定制接口,已提供给应用调用,用来增强功能。原生的桌面,拨号,设置,已经没法做出差异化优势,因此都原创 2020-12-05 15:53:04 · 5547 阅读 · 23 评论 -
GitHub已标星81.6k!这份腾讯T5大佬整理的Framework学习笔记真的这么香吗?
学习Framework的重要性别的不说,你只要去 Github上看一下腾讯Matrix的源码,就知道Framework 的知识有多重要了。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……另外 Framework 作为 Android 框架层,为 App 提供了众多 API 去调用 ,但是很多机制都是 Framework 包装好了给 App 来用的,原创 2020-11-30 16:29:16 · 308 阅读 · 1 评论