移动开发

Mac版微信双开详细教程

很多朋友都在问如何在Mac上实现微信双开,两种简单实用的方法供大家参考。方法一:临时双开安装微信: 安装好微信后,在应用程序内找到它。显示包内容: 选中微信图标,右键点击并选择“显示包内容”。如果你没有鼠标,可以使用触控板双指点击。进入Contents文件夹: 打开“Contents”文

Android graphics(一) 框架

一、概要 android graphic图形显示系统,android系统最核心功能之一。本文以分析graphic整体框架为主。最终以知道图形显示系统如何工作为目的。偏向于介绍基础和概念 image.png 谷歌这张图中有四个重要角色:要显示的页面、buffer queue、surfacefinger、hwcomposer 要显示的页面 安卓显示的一个页面一般包含:statusbar、a

Flutter多渠道打包的解决方案(walle)

背景 我们的应用集成了TalkingData这个第三方工具来统计日活、事件等,需要在应用启动时初始化SDK,这个时候需要传入当前渠道,以便数据的统计。 由于最开始是用脚本一个个打包,一直想解决打包过慢的问题,但是网上大多教程是基于命令行参数或flavor,实质上并没有根本解决打包效率的问题。直到发现了文章的主角 walle。 应用解决方案 walle walle是美团开源的一个打包插件,这里就

Google 公布的 Jetpack Compose 1.2 Beta 有哪些亮点更新?

Jetpack Compose 1.0 发布已经快一年了,在此期间我们看到社区是它的热情,例如欣赏 Kotlin 语法的简洁性、使 UI 开发变得更加便捷和更轻松的声明式方法。 社区中的 Compose 我们已经看到许多公司开始大规模使用 Compose,例如 Compose 于 Play Store 团队密切合作,他们在很早的时候就开始尝试 Compose ,并了解到它不仅更有趣,而且对他们的开

flutter:如何实现局部导航管理?

引言 今天,小编给大家分享如何在 flutter 中实现 ‘局部导航’。开始之前我们先来统一一下关于 局部导航 的概念。 局部导航是什么? 我们在 flutter 中使用 navigator 来管理 app 的页面堆栈,主要包括 push、pop 这两种操作。而当我们UI设计划分得更细致时,可能遇到需要在某个独立页面里,单独维护一套子级的堆栈管理。这就叫 局部导航管理。 局部控件内单独维护局部范围

基于Telegram二次开发 --- MTProtoKit 架构

MTProto 是 Telegram 的核心协议,旨在支持多种传输协议;当前版本的 Telegram-iOS 仅支持 TCP 传输;HTTP 传输已于 2018 年删除;VoIP 模块 libtgvoip 支持 UDP 和 TCP 传输。 MTProtoKit 源码仓库 MTProto 官方文档 Telegram-iOS 在 Network 内置了用于冷启动的种子地址: let seedAdd

[ANR] Input ANR是怎么产生的

最近在做ANR优化,发现线上非常多的ANR(一半以上)原因都是 Input dispatching timed out。对于Activity或Service生命周期的ANR产生原理,我想大家应该都比较了解了,就是在AMS里埋炸弹、拆炸弹那一套机制,那Input Dispatching time outANR是怎么产生的呢?这篇文章带大家一起学习一下。 Android输入系统 Input Dispa

toxiclibs中的粒子和弹簧

书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 目录 5.16 toxiclibs中的粒子和弹簧 1、粒子 在Box2D的例子中,我们创建了自己的类(比如Particle类),并在其中加入了一个Box2D物体对象变量。 class Particle { Body body; 这样的实现方式显得

RE: 从零开始的车载Android HMI(二) - Widget

1. Widget 概述 Widget,又叫“微件”、“小部件”。小部件是放置在主屏幕(Launcher)上的Android应用程序的小工具或控件。通过小部件可以将自己喜欢的应用程序放在主屏幕上,以便快速访问它们或是显示一些重点信息。 小部件可以是多种类型,例如信息小部件、集合小部件、控件小部件和混合小部件。Android为我们提供了一个完整的框架来开发我们自己的小部件。在手机上我们已经看过一些常