移动开发

使用TC(TotalControl)遇到的问题,adb已停止工作

    使用TC的小伙伴,在连接手机时,相信都多多少少会遇到以下这个问题。 image.png     点击关闭程序后,可以看见adb 这个进程在被360的MobileLink进程占住 image.png     在任务栏打开任务管理器或使用组合键ctrl+alt+. 进入任务管理器。 image.png     如图点击详细信息,将对应360连接手机的进程

ES6的Map、Set和ES7的Array.includes()、乘方

一、ES6 1.Set 1.Set的基本使用 在ES6之前,我们存储数据的结构主要有两种:数组、对象。 在ES6中新增了另外两种数据结构:Set、Map,以及它们的另外形式WeakSet、WeakMap 数据结构:存储数据的方式 Set是一个新增的数据结构,可以用来保存数据,类似于数组,但和数组最大的区别是 元素不能重复 创建Set我们需要使用Set构造函数(暂时没有字面量创建的方式)

ThreadLocal--以副本的方式解决并发以及隔离问题

不论是Atomic还是synchronized或者Lock,其实都是采用同步的方式(串行或者自旋等)解决了线程安全问题。这里我们将介绍另外一种解决线程安全问题的思路----副本的方式。 如果你有一个全局共享的变量,那么多线程并发的时候,对这个共享变量的访问是不安全的。方法内的局部变量是线程安全的,由于每个线程都会有自己的副本。也就是说局部变量被封闭在线程内部,其它线程无法访问(引用型有所区别)。那

如何在24版本的Android Studio中创建java项目

最开始点击创建empty activity,然后就会出现以上情况,无法选择用Java作为编程语言。因为在新版的Android Studio中默认使用Kotlin作为编程语言。那么如何使用Java作为编程语言呢?这个时候回到项目创建的原始页面,如下图选定No Activity,点击Next,进入下一个页面在这里就可以

Flutter鸿蒙化环境配置(windows)

Flutter鸿蒙化环境配置(windows) 参考资料 Window配置Flutter的鸿蒙化环境 下载 配置环境变量 HarmonyOS的环境变量配置 配置Flutter的环境变量 Flutter doctor -v 检测的问题 flutter_flutter仓库地址的警告问题 Fliutter doctor –v 报错[!] Android

Flutter动态化方案

背景 随着业务功能越来越复杂,Flutter应用需要持续更新添加新功能,而且也会遇到线上bug需要及时修复,目前常见的升级方式采用整体更新升级,无论是安卓还是IOS,都需提交对应的应用市场更新,审核周期长也经常有遇到被拒的情况,即使上线了也无法达到全部用户升级,存在兼容问题,费时费力,而且用户对app动辄几十兆几百兆的应用更新是比较抗拒的。 面对这些问题,如果能实现app增量、无感知更新,实现功能

确定 Flutter SDK 及其关联的 Gradle 版本与适配的 JDK 版本

最近在编写 Flutter 项目,发现不同的 Flutter SDK 版本有着不一样的 Gradle 版本,然后不同的 Gradle 版本需要不同的 JDK 版本。只有当三者都一致匹配时,才能正常的完成编译首先,我们可以确定 Flutter SDK 对应的 Gradle 版本。我们每个下载的 Flutter 的 SDK 中都有这样一个示例工程

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

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

[ANR] Input ANR是怎么产生的

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