scrcpy不重定向到电脑声卡
发表于|更新于|经验
|浏览量:
scrcpy不重定向到电脑声卡
1 | scrcpy --render-driver=software --no-audio |
文章作者: Fleming Chen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!
相关推荐
2022-02-08
ip定位
1、自有搭建IP 定位框架 GeoIP2 for Java:https://blog.csdn.net/GodSuzzZ/article/details/108095385官网:https://www.maxmind.com/en/geoip2-services-and-databasespy:https://pypi.org/project/geoip2/#description 2、免费转接寻找免费获取ip信息站点经过我们自己服务转一下https://ipapi.co/218.104.82.74/json 3、付费接口https://timezoneapi.io/api/ip/?token=aeLjNqtdVzUgQeiYumTC
2020-02-08
关于EventBus
关于EventBus12EventBus.getDefault().register(this)EventBus.getDefault().unregister(this) @Subscribe 订阅者方法ThreadMode 决定了订阅者的行为处理在主线程还是子线程,也是就耗时操作尽量开辟子线程,避免ANR等等,一般默认就行 发布者 在主线程发送事件 在子线程发送事件 main 主线程 主线程 posting 主线程 子线程 async 新开一个子线程 新开一个子线程 background 新开一个子线程 子线程 12345678910111213141516171819202122232425262728@Subscribe(threadMode = ThreadMode.MAIN) public void MessageEventBus(EventBusMessage eventBusMessage){ //在TextView显示接收的消息,从这个类里拿属性. tv_title.setText(eventBusMessag...
2017-08-16
如何使用AsyncTask
你会使用AsyncTask吗?前言AsyncTask 的本身其实是对 Handler 机制的封装,目的是让异步操作的实现变得简单,更多的关注业务实现。 基本步骤 创建一个继承自 AsyncTask 的类。 确定 AsyncTask<Params(参数), Progress(进度), Result(结果)> 泛型的三个参数类型。 重写以下方法: 1234protected void onPreExecute() // 可选protected abstract Result doInBackground(Params... params); // 必须重写protected void onPostExecute(Result result) // 可选,但一般都会重写protected void onProgressUpdate(Progress... values) // 可选,如果不需要进度可以写 Void(大写的 V) 注意: onPreExecute 方法会在execute方法调用前调用,运行在UI线程,可以做进度框的展示等 ; doInB...
2022-02-08
core-ktx及appcompat是什么
core-ktx及appcompat是什么core-ktx是Android官方发布的一个Kotlin扩展库,主要提供了对Android原生API的Kotlin语言扩展和优化。 core-ktx的主要作用包括: 为Android原生API提供了惯用的Kotlin语法扩展,使代码更简洁。比如View.show()隐藏了findViewById。 提供了一些Kotlin特有的语言功能来优化Android API,如空安全、高阶函数等。 加入了一些Kotlin协程相关的扩展,可以更方便地使用协程。 提供了部分标准库函数的扩展,如集合相关的扩展函数。 简化了资源访问,避免重复代码。 支持了一些Kotlin版本更新带来的新特性。 向下兼容旧版本Android API。 总之,使用core-ktx可以写出更优雅简洁的Android代码,提高开发效率。它降低了从Java转换到Kotlin的学习成本,是一个非常值得引入的库。主流的Android项目基本上都会依赖该扩展库。 appcompat是AndroidX中的一个重要支持库,它主要提供了向后兼容旧版Android系统的功能。...
2023-02-08
新版logcat的过滤关键字
新版logcat的过滤关键字 package:匹配记录日志的软件包名,其中特殊值mine匹配当前打开项目对应的应用log。 level:与指定或者更高级别的日志匹配,比如debug或者error,输入level后as会自动提示可以选择。 tag: 匹配日志的tag字段 message:匹配日志中我们自己填写的message的部分。 age:让窗口中只保留最近一段时间的log,值为数字加单位,s表示秒,m表示分钟,h表示小时,d表示天 is: 这个键有两个固定的value取值,crash匹配应用崩溃日志,stacktrace匹配任意类似java堆栈轨迹的日志 process:匹配记录日志的进程名 正则相关tag:GUI 表示tag中包含“GUI”字符的-tag:GUI 表示tag中不包含“GUI”字符的 tag=:GUI 表示tag中等于“GUI”字符的(完全匹配)-tag=:GUI 表示tag中不等于“GUI”字符的 tag~:^(http)(com/)$ 表示tag中满足正则规则的(以http开头以com&...
2023-11-21
ViewModel在Activity和Fragment之间共享
ViewModel在Activity和Fragment之间共享在 Android 的 Jetpack ViewModel 架构组件中: 在 Activity 中使用 by viewModels() 创建的 ViewModel,默认作用域是该 Activity。 在 Fragment 中使用 by activityViewModels() 创建的 ViewModel,其作用域也是 宿主 Activity。 因此,只要 ViewModel 的类型相同,并且使用的是默认的 Factory 和 key(即没有自定义 key),那么无论你是在 Activity 中通过 viewModels() 还是在 Fragment 中通过 activityViewModels() 获取,它们都会共享同一个 ViewModel 实例。 原理简述ViewModel 是通过 ViewModelStoreOwner 来管理生命周期和存储的。 Activity 是一个 ViewModelStoreOwner。 viewModels() 在 Activity 中会从 Activity 自己的 Vie...
公告
欢迎来到我的博客,有任何疑问可以随时联系我交流讨论!






