首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏QQ音乐技术团队的专栏

    Q音直播Flutter裁剪方案(iOS)

    1、背景 Flutter作为一款优秀的跨平台方案,我们Q音团队一致保持高度关注,团队内部也一直在努力促进Flutter的应用框架建设。 本文将一步步剖析Flutter的体积问题,带领大家探寻每一个可能的体积优化点,结合实际项目和引擎源码,最终给出详细的体积优化实现方案。欢迎大家相互交流Flutter相关技术。 因此,要解决体积问题,需要对aar和framework的体积进行优化。 这部分能优化的空间很小,主要是通过裁剪引擎不需要的功能,减少体积。编译引擎时可以选择性编译skia和boringssl,收益大概只有几百K。 除此之外可以对Flutter的符号进行分离。 5、参考文章 字节跳动- 【如何缩减接近 50% 的 Flutter 体积】:https://juejin.im/post/5de8a32c51882512664affa4 QQ音乐招聘Android

    2.5K20发布于 2021-02-05
  • 来自专栏贾志刚-OpenCV学堂

    OpenCV实战应用必备技能 | 模块裁剪

    对上图说明如下: 水平横着的都是基础模块,这个是OpenCV模块裁剪的时候必须选上的。竖直的模块都是OpenCV中在CMake生成阶段可配置选择的模块,如果需要你就加上,如果不需要就去掉。 可以看到,这里我们只编译很少部分的模块,总计21个模块,可以满足大部分应用场景使用,真正的80/20规则。这个对我们来说是个好消息,下面我就一起来验证下,我们这样编译出来的OpenCV是否可以用? 验证裁剪编译版本OpenCV功能 03 重新配置好开发环境(包含目录 + 库目录 + 连接器 + 环境变量, 然后重启VS2015/VS2019),运行以下测试代码: #include <opencv2 OpenCV重新编译与模块裁剪技能GET,从此以后千万别在我面前说OpenCV模块太多,太大,这个都不是事,关键是你会用吗?

    2.1K11发布于 2019-09-19
  • 来自专栏编程从踩坑到跳坑

    JAVA 8 FUNCTION

    JDK8接口中的静态方法和默认方法,都不算是抽象方法。 接口默认继承java.lang.Object,所以如果接口显示声明覆盖了Object中方法,那么也不算抽象方法。 来源 [JDK8新特性-java.util.function-Function接口

    1.5K30发布于 2019-12-20
  • 来自专栏Mac资源随时更新

    FxFactory pro 8,视觉特效

    FxFactory pro for mac是应用在Mac上的fcpx/ae/pr视觉特效插件,包含了成百上千的视觉效果,支持 Final Cut Pro, Motion, After Effects 3、该FxFactory OS X应用程序,您还可以使用免费的产品,而无需购买,但也提供了购买和注册的商业产品的支持。 4、该FxFactory专业版,您可以制作自己的视觉效果,而无需编写一行代码。 7、 一个额外的优点是,专业插件支持16位和32位的一个运动图像的结构。 FxFactory – 它不只是内置的插件管理器,也是对自己管理的完整环境。 通过它,你可以连接到项目所需的模块,把它们应用到你的内容,预览和渲染。

    57030编辑于 2023-02-22
  • 来自专栏minlearnprogramming

    ​为tinycolinux制作应用

    本文关键字:tinycolinux自定义应用,tinycolinx内存运行,mysql重建/tmp/mysql.sock 在前面《发布tinycolinux》中,我们重点描述了将tinycolinux 安装到硬盘的情况,及处理安装应用到硬盘的情况,这也是大部分情形下的场景,其实,完全可以采取其rootfs放在livecd ram中运行而应用依然安装到硬盘的方式,这样更有利于vm container iaas 组建复合应用 ----- 官方提供了很多镜像,这些都很正交。 且还有构建源码,可往往我们还需要lnmp这样的组合,我们可以按《发布tinycolinux》part2中的硬盘安装应用方法来组合一次性安装(当然,这样它就不正交了但对一台vm container通常情况下仅需承载安装一次 ncurses-common.tcz,nginx.tcz,openssl-0.9.8.tcz,pcre.tcz,perl5.tcz,php5.tcz,readline.tcz,sqlite3.tcz,这些都是我们要组合进一个大应用的基础

    76320发布于 2020-09-29
  • 来自专栏让技术和时代并行

    基于网络抓实现K8S中微服务的应用级监控

    今天我再谈使用pod的网络便利监控主服务应用级指标。 通过共享的网卡抓分析网络流量反应应用状况 我们拿一个http服务为例,我们监控网络流量能拿到几乎所有访问和服务返回信息。 TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。。我们抓取到的网络信息也是四层模型。 一般你可以从网络层获取双方ip地址,从传输层获取双方端口以及tcp的相关信息。从应用层获取应用数据。具体的怎么优化和实践就留给大家自己尝试吧。 网络抓监控的优缺点 优点: 应用无关性,监控工具通用性强。 数据全面性,你可以获取很多直接和间接反应应用状态的数据。 不侵入代码,一般不影响网络。 高并发下不影响应用。 缺点: 资源消耗,抓分析是一个物理资源消耗的过程。 需要自己开发。 总之,就像上文说得一样。如果你的需求只是想监控一个应用。你就别考虑这个方案了。如果你想监控集群中所有应用,你可以尝试。

    91020编辑于 2023-03-18
  • 来自专栏叶子陪你玩编程

    python闭应用案例1

    turtle.Screen() def display(): print('A') turtle.onkey(display,'a') screen.listen() turtle.done() 其中第8行代码的 abcdefghijklmnopqrstuvwxyz' for key in letters: turtle.onkey(display2(key), key) 上面的display函数其实就是一个闭。 高阶函数中,内层函数携带外层函数中的参数、变量及其环境,一同存在的状态(即使已经离开了创造它的外层函数)被称之为闭。 abcdefghijklmnopqrstuvwxyz' for key in letters: turtle.onkey((lambda key=key:display(key)),key) screen.listen() 在装饰器中,闭应用的非常多 ---- 很多时候,可能你并不知道闭或者某个技术名词的概念,仅仅是根据问题你想出了前面的解决方法,而后听别人说才知道自己用的是闭,是不是有一种创造的感觉呢?

    71140编辑于 2022-05-22
  • 来自专栏tea9的博客

    android aapt查看应用

    查看应用名 aapt dump badging xx.apk package: name='com.xx.www' versionCode='1' versionName='1.0' sdkVersion

    1.3K10编辑于 2022-07-16
  • 来自专栏Owen's World

    PHP使用predispredis应用实例

    第一下载predis/predis 第二引用,添加实例类接口 application/common/Redis.php <?

    80530编辑于 2021-12-08
  • 来自专栏yuyy.info技术专栏

    Docker 容器应用构建 deb

    背景 我们的应用发布都是以镜像为基础,git打tag触发cicd,发布对应version的镜像。现在有个应用需要部署到客户内网中,如果以导出镜像的形式,再给客户部署,是比较繁琐的。 而同事之前做过以linux安装的形式发布容器应用,这种方式更加正式且方便,遂复用之。 deb介绍 deb是 Debian 系列的应用安装格式。 公司名:google 安装的应用名:chrome 应用包含的镜像名:chrome-interface 此脚本支持多个镜像,这种情况下,应用安装后会创建多个容器 镜像在harbor仓库中的项目组:chrome-group 删除应用文件(没有删除应用数据,因为更新时会先执行卸载脚本) #! dpkg -l|grep chrome 卸载 deb 卸载应用:dpkg -P chrome 删除本地数据:rm -rf /var/google/chrome Post Views: 33

    1.1K20编辑于 2023-10-18
  • 来自专栏繁依Fanyi 的专栏

    uniapp 编译成鸿蒙应用提示【未正确配置鸿蒙应用名】

    应用名称 应用在华为应用市场详情页展示的名称。 应用名 仅当“应用类型”选择“HarmonyOS应用”时,才需在此处手动填写名。 此处的应用名必须与您DevEco Studio工程中配置的Bundle name一致。元服务名会在元服务创建成功后自动生成。 应用分类 应用分类设置后不支持修改,请谨慎选择。 HarmonyOS应用名需遵守如下规范: 必须为以点号(.)分隔的字符串,且至少包含三段,每段中仅允许使用英文字母、数字、下划线(_),如“harmony_11.huawei.com”。 以保留字符harmony为例,名不能为harmony.huawei.com、com.harmony.huawei、com.huawei.harmony。 之后把名配置到 uniapp 的 manifest.json 的鸿蒙App 配置中的名中即可 然后再次打包编译即可!

    1.2K10编辑于 2025-02-21
  • 来自专栏黄腾霄的博客

    2018-8-24-快捷调试Nuget

    不可行方法 通过添加引用的方式添加本地 ? 然后我们将本地的dll放进去,发现一家可以成功使用本地的方法啦~~ ? ? 添加一个本地程序源 ? 然后你可以在vs中的指定项目右键-打包(需要新格式才能支持),生成一个本地nuget,放到刚刚的文件夹中 然后在产品项目里指定本地的程序源,就可以看到你本地的nuget包了 ? ---- 本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E5%BF%AB%E6%8D%B7%E8%B0%83%E8%AF%95Nuget%E5%8C%

    1.2K10发布于 2020-06-10
  • 来自专栏从零开始学自动化测试

    Fiddler抓8-打断点(bpu)

    前言 先给大家讲一则小故事,在我们很小的时候是没有手机的,那时候跟女神聊天都靠小纸条。某屌丝A男对隔壁小王的隔壁女神C倾慕已久,于是天天小纸条骚扰,无奈中间隔着一个小王,这样小王就负责传小纸条了。有一天小王忍不住偷偷打开A男表白的纸条,把里面内容改了下,改成了:我的同桌小王喜欢你。最后女神C和小王走在了一起。。。这是一个悲伤的故事! 一、断点 1.为什么要打断点呢? 比如一个购买的金额输入框,输入框前端做了限制100-1000,那么我们测试的时候,需要测试小于100的情况下。很显然前端只能输

    2K50发布于 2018-04-08
  • 来自专栏smy

    Fiddler抓8-打断点(bpu)

    先给大家讲一则小故事,在我们很小的时候是没有手机的,那时候跟女神聊天都靠小纸条。某屌丝A男对隔壁小王的隔壁女神C倾慕已久,于是天天小纸条骚扰,无奈中间隔着一个小王,这样小王就负责传小纸条了。有一天小王忍不住偷偷打开A男表白的纸条,把里面内容改了下,改成了:我的同桌小王喜欢你。最后女神C和小王走在了一起。。。这是一个悲伤的故事!

    1.3K10发布于 2018-12-27
  • 来自专栏飞鸟的专栏

    JavaScript闭应用场景(一)

    封装私有变量闭可以用于创建具有私有变量的模块化代码。通过将变量定义在外部函数内部,并将内部函数返回,可以创建一个封闭的作用域,使变量无法从外部直接访问。 保存状态闭可以用于保存函数的状态。当函数被调用时,它可以访问并修改闭中的状态,从而实现在多次调用之间保持数据的连续性。 迭代器闭可以用于实现迭代器模式,通过保留内部状态和索引来追踪迭代过程。

    54320编辑于 2023-05-17
  • 来自专栏Java后端技术栈cwnait

    Netty 粘应用案例及解决方案分析

    熟悉TCP变成的可以知道,无论是客户端还是服务端,但我们读取或者发送消息的时候,都需要考虑TCP底层粘/拆包机制,下面我们先看一下TCP 粘/拆和基础知识,然后模拟一个没有考虑TCP粘/拆导致功能异常的案例 主要内容: TCP粘/拆的基础知识 没考虑TCP粘/拆的问题案例 使用Netty解决读半包问题 1、TCP粘/拆 TCP是个“流“协议,所谓流,就是没有界限的一串数据。 TCP底层并不知道上层业务逻辑,它会根据TCP缓冲区的实际情况进行包的拆分,所以在业务上认为,一个完整的可能会被拆分成多个进行发送,也有可能把多个小的封装成一个大的数据发送,这就是所谓的TCP粘 2、TCP粘/拆发生的原因 问题产生的原因有三个:如下 应用程序write写入的字节大小大于套接口发送缓冲区大小; 进行MSS大小的分段; 以太网帧的payload大于MTU进行IP分片; 3、粘问题的解决策略 由于底层TCP无法理解上层业务数据,所以在底层是无法保证数据不被拆分和重组的,这个问题只能通过上层的应用协议栈设计来解决,根据业界的主流协议的解决方案,可以归纳如下: 消息定长

    1.6K40发布于 2019-07-16
  • 来自专栏HarmonyOSNext

    【HarmonyOS学习】应用程序

    应用程序简介​​HAR和HSP两种共享得主要区别共享类型编译和运行方式发布和引用方式HARHAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝。 HAR除了支持应用内引用,还可以独立打包发布,供其他应用引用。HSPHSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。HSP一般随应用进行打包,当前支持应用内和集成态HSP。 应用内HSP只支持应用内引用,集成态HSP支持发布到ohpm私仓和跨应用引用。​ 开发和编译后得文件视图​发布状态的结构 一个应用中的所有.hap与.hsp文件合在一起称为Bundle,其对应的bundleName是应用的唯一标识 当应用发布上架到应用市场时,需要将Bundle打包为一个

    31700编辑于 2024-12-24
  • Java中JUC介绍与应用

    JavaJUC是Java标准库中java.util.concurrent的简称,它提供了强大的并发编程工具,帮助开发者高效处理多线程环境下的任务。 该于Java5中引入,由DougLea等专家设计,旨在解决传统线程API(如Thread和synchronized)的局限性,例如线程创建开销大、资源竞争激烈等。 在多核CPU时代,并发编程已成为提升应用性能的关键。但传统方式存在问题:线程开销大:频繁创建/销毁线程消耗CPU和内存。 Java8默认ForkJoinPool作为公共池。实践注意项避免死锁:使用tryLock和超时。性能调优:根据任务类型选择线程池大小(CPU密集:核心数;IO密集:核心数*2)。

    61610编辑于 2025-11-19
  • 来自专栏网管叨bi叨

    Go语言sync应用详解

    今天的文章里让我们回到应用层,聚焦sync里这些同步原语的应用场景,同时也会介绍sync中的Pool和Map的应用场景和使用方法。话不多说,让我们开始吧。 sync.Mutex sync.Mutex可能是sync中使用最广泛的原语。 (sync的所有原语都一样)。如果结构体具有同步原语字段,则必须通过指针传递它。 在以下示例中,我们将启动八个goroutine,并等待他们完成: wg := &sync.WaitGroup{} for i := 0; i < 8; i++ { wg.Add(1) go func 我们也可以在for循环之前调用wg.Add(8)。 与此同时,每个goroutine完成时,都会使用wg.Done()减少wg的内部计数器。

    1.1K21发布于 2020-05-14
  • 来自专栏梦无矶测开实录

    ios获取原生系统应用

    进入到对应系统应用界面,运行第二步代码,获得相关信息。 拿App store 为列,打开该应用后,运行代码,返回如下信息: {'processArguments': {'env': {}, 'args': []}, 'name': '', 'pid': 52741 , 'bundleId': 'com.apple.AppStore'} bundleId 对应的则为App Store的应用名 4、常见的苹果自带应用Bundle ID如下 苹果自带应用 Name Bundle 提醒事项 com.apple.reminders Desktop com.apple.springboard (Start this will cause your iPhone reboot) 第三方应用 com.google.chrome.ios 5、其他方法 使用ideviceinstaller,需要mac电脑,这玩意相当于adb命令 # 下载 brew install ideviceinstaller # 查看

    1.2K00编辑于 2022-08-22
领券