首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使枚举在启用proguard的情况下工作?

在启用ProGuard的情况下,使枚举正常工作需要进行以下步骤:

  1. 在ProGuard配置文件中添加保留枚举类的规则。打开ProGuard配置文件(通常是proguard-rules.pro),添加以下规则:
  2. 在ProGuard配置文件中添加保留枚举类的规则。打开ProGuard配置文件(通常是proguard-rules.pro),添加以下规则:
  3. 枚举类的使用方式需要遵循以下规则:
    • 不要使用Enum.valueOf()方法,而是使用Enum.name()方法获取枚举常量的名称。
    • 不要使用Enum.ordinal()方法,因为ProGuard会重排枚举常量的顺序。
  • 枚举类的引用需要使用字符串常量或Enum.name()方法返回的字符串进行比较,而不是使用==equals()方法。
  • 在构建过程中,确保ProGuard已正确配置并应用到项目中。根据使用的构建工具和环境,可以通过命令行参数、构建脚本或IDE设置来启用ProGuard。

需要注意的是,以上步骤是通用的,不针对特定的云计算品牌商。如果您需要了解腾讯云相关产品和产品介绍链接地址,请提供具体的问题或需求,我将为您提供相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Sharded:相同显存情况下使pytorch模型参数大小加倍

本文中,我将给出sharded工作原理,并向您展示如何利用PyTorch 几分钟内用将使用相同内存训练模型参数提升一倍。...如何在PyTorch中使用Sharded Sharded后工作原理 Sharded与模型并行 本文适用于谁? 本文适用于使用PyTorch训练模型任何人。...如何在PyTorch中使用Sharded 对于那些没有足够时间来了解Sharded工作原理的人,我将在前面解释如何在您PyTorch代码中使用Sharded。...但是,我鼓励您通读本文结尾,以了解Sharded工作原理。 Sharded意味着可以与多个GPU一起使用以获得所有好处。但是,多个GPU上进行训练会比较复杂,并且会造成巨大痛苦。...完成此操作后,8个GPU上启用Sharded就像更改一个标志一样简单,因为无需更改代码。 ?

1.6K20
  • 公司制度不规范情况下如何做好测试工作

    能力还足以让公司有更高提升么? 当然,为什么很多人不喜欢这样公司呢?是因为感觉自己能力还不够,知识技术都不够全面,所以想自我提升,想到一个好公司,看看别人怎么做,这样提升会比较快。...搞那么半年一年实现自己想要目标为止。然后换一家好公司。否则还能怎样?我们选择要么改变自己要么改变别人,千万不要一方面抱怨公司,另一方面还赖公司不走,那是最令人鄙视的人生了!...公司一定知道自己不足,这是你发挥自己能力好机会,你可以按照你自己思想来打造一个团队,这种机会还是很难得,管理其实本质上是一个人思想体现,为什么说什么官带什么兵?就是这个道理。...问他们对今后测试有啥意见,他们想怎么搞,然后,好,跟他们交换思路,把你大致想法讲给他们听,看看他们什么意见,肯定会有很多好意见,因为人家也想趁着这个机会提高质量少给自己以后工作找麻烦。...这个过程可能需要经过2轮,因为要将自己修改后东西和别人沟通么。

    1.2K30

    VBA技巧:不保护工作簿情况下防止删除工作

    标签:VBA 下面介绍一个使用少量VBA代码实现简单实用小技巧。 通常情况下,我们执行“保护工作簿”命令后,此时删除工作命令变成灰色,用户就不能轻易地删除工作表了。...然而,这样也不能进行插入、移动或复制工作操作了。 如果想要在不保护工作簿情况下防止用户删除工作表,而且允许用户插入工作表并对其进行重命名,也允许用户移动或复制工作表,有没有什么好方法实现?...工作簿ThisWorkbook模块中粘贴或输入下面的代码: Option Explicit Private Sub Workbook_SheetDeactivate(ByVal Sh As Object..." End Sub Sub RemoveProtection() '撤销保护工作簿 ThisWorkbook.Unprotect End Sub 此时,用户再要删除该工作簿中工作表,就会弹出...警告信息(如下图1所示),但用户仍可以工作簿中进行添加工作表、移动或复制工作表、对工作表重命名等操作。 图1

    1.9K30

    如何在不重启Yarn服务情况下启用DEBUG日志记录

    Faysongithub: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 为了解决Yarn问题,需要为不同服务启用调试...本篇文章Fayson主要介绍如何在不重启Yarn服务情况下为ResourceManager、JobHistory等服务启用DEBUG级别日志记录。...内容概述 1.启用YarnDEBUG日志记录 2.总结 测试环境 1.CM和CDH版本为5.15 2.启用Resource Manager服务调试 ---- 1.浏览器输入Resource Manager...2.获取特定类日志记录级别 ?...4.查看Resource Manager服务日志 ? 3.总结 ---- 1.由于DEBUG级别日志会产生大量日志记录,请考虑需要哪些日志信息,仅对相应类进行日志记录级别调整。

    1.7K50

    如何在CDH未启用认证情况下安装及使用Sentry

    1.文档编写目的 ---- CDH平台中安全,认证(Kerberos/LDAP)是第一步,授权(Sentry)是第二步。如果要启用授权,必须先启用认证。...本文档主要描述如何在CDH未启用认证情况下安装,配置及使用Sentry。...3.采用root用户操作 前置条件 1.CDH集群运行正常 2.集群未启用认证服务(如Kerberos或LDAP) 2.Sentry安装 ---- 1.MySQL中创建sentry数据库 建表语句:...说明Sentry命令行操作和授权Hue中依旧有效。...启用认证服务集群下,该文档Sentry配置方式只适用于测试环境,不能用于生产环境。 集群启用Sentry服务后,由于Sentry不支持Hive CLI权限管理,所以建议禁用Hive CLI。

    8.6K90

    如何在CDH启用Kerberos情况下安装及使用Sentry(二)

    5.Sentry列权限管理 ---- 1.集群所有节点添加fayson_r用户 [root@ip-172-31-6-148 cdh-shell-bak]# useradd fayson_r [root...fayson_r用户所属用户组为fayson_r,该组只拥有对test表s1列读权限,因此select和count时候只能对s1列进行select和count,fayson_r用户无权限浏览/user...注意:Sentry只支持SELECT列授权,不能用于INSERT和ALL列授权。...6.备注 ---- 集群启用Sentry服务后,由于Sentry不支持Hive CLI权限管理,所以建议禁用Hive CLI。...如何限制用户使用Hive CLI操作 进入Hive服务,修改hadoop.proxyuser.hive.group配置,此配置会覆盖HDFS服务中hive代理用户组配置,默认值为空则继承HDFS服务中

    3.5K80

    GC前置工作,聊聊GC是如何快速枚举根节点

    根节点枚举存在问题 迄今为止,所有收集器根节点枚举这一步骤时都是必须暂停用户线程。因此毫无疑问根节点枚举与之前提及整理内存碎片一样会面临相似的「Stop The World」困扰。...所以本质上来说,根节点枚举遇到问题,就是并发问题。 如果不「冻结」的话,根节点集合对象引用关系不断变化,那么分析结果准确性也就无法保证。...如何解决根节点枚举问题 目前主流Java虚拟机使用都是「准确式垃圾收集」。...」状态,那么如何在垃圾收集发生时让所有线程都跑到最近安全点,然后停顿下来?...安全点设计似乎已经完美解决如何停顿用户线程,但是仍然有问题,安全点机制保证了程序执行时,不太长时间内就会遇到可进入垃圾收集过程安全点。但是,程序「不执行」时候呢?

    16030

    尽量减少网站域名没有启用 CDN 情况下各种检测、扫描、测速等操作

    今天明月给大家分享个比较可怕事儿,那就是轻松获取你站点服务器真实 IP 途径和办法,很多小白站长不知道自己服务器真实 IP 重要性,因此一些不好习惯就会暴露你真实 IP 到网上,从而造成被各种恶意扫描和爬虫抓取骚扰...这个原理其实很简单,就是通过获取你域名解析记录来侧面获取到你真是 IP,有不少第三方代理就可以扫描你域名来获取到这些数据,不说是百分百准确吧,至少有 80%概率可以,通过明月分析,这些数据大部分依赖于平时网上各种所谓...SEO 分析平台、互换友链平台等等,甚至不少测速平台数据都会被利用到,像有些所谓安全检查扫描一类也会获取到这里数据。...可以看到 Hosting History 里记录还是非常丰富,这里就会有暴露你真实 IP 可能,通过点击右上角那个“Refresh”刷新几次,收获会更加精准。...这几乎是一种没有任何成本和技术门槛手法就可以轻松获取到服务器真实 IP 了,这也再次说明了给自己站点加个 CDN 来隐藏真实 IP 重要性,甚至可以说没有 CDN 情况下,尽量不要去检测自己域名速度

    1.1K20

    GC前置工作,聊聊GC是如何快速枚举根节点

    根节点枚举存在问题迄今为止,所有收集器根节点枚举这一步骤时都是必须暂停用户线程。因此毫无疑问根节点枚举与之前提及整理内存碎片一样会面临相似的「Stop The World」困扰。...所以本质上来说,根节点枚举遇到问题,就是并发问题。如果不「冻结」的话,根节点集合对象引用关系不断变化,那么分析结果准确性也就无法保证。...如何解决根节点枚举问题目前主流Java虚拟机使用都是「准确式垃圾收集」。...,那么如何在垃圾收集发生时让所有线程都跑到最近安全点,然后停顿下来?...安全点设计似乎已经完美解决如何停顿用户线程,但是仍然有问题,安全点机制保证了程序执行时,不太长时间内就会遇到可进入垃圾收集过程安全点。但是,程序「不执行」时候呢?

    20630

    技术工作如何在不成为经理情况下获得晋升

    而且,如何在不管理人员情况下在组织中发表意见并扩大你影响力? 随着公司规模扩大,他们必须找到留住技术人才方法。...继续阅读,了解如何走这条人迹罕至道路,这意味着不管理情况下领导,你可以构建和影响全球规模技术。 员工工程师到底是什么? 大科技公司之外,员工工程师晋升途径和好处充其量是模糊不清。...Groner 说,如果你非技术公司工作,除了你带来技术知识外,你通常还必须具备垂直知识和领域专业知识。 此外,如果你所在组织中第一个担任此类角色,你部分工作可能是记录和传达你工作职责。...他说:“这种级别的技术贡献使他们能够继续成为其组织技术进步核心,同时享受其专业领域自主性和挑战”,这是留住技术人才重要方式。...德拉·科尔特继续说,员工工程师轨道良好候选人与你公司使命保持一致,能够高度紧急情况下交付出色工作,并表现出天生领导才能。

    14510

    Load average 高情况下如何鉴别系统瓶颈

    Load average 高情况下如何鉴别系统瓶颈。是CPU不足,还是io不够快造成? 或是内存不足?...b :等待资源进程数,比如正在等待I/O、或者内存交换等。...5 : system 显示采集间隔内发生中断数 --system-- in cs 55 51 in :某一时间间隔中观测到每秒设备中断数。...us值比较高时,说明用户进程消耗cpu时间多,但是如果长期大于50%,需要考虑优化用户程序。 sy :内核进程所花费cpu时间百分比。...这里wa参考值为30%,如果wa超过30%,说明IO等待严重, 这可能是磁盘大量随机访问造成,也可能磁盘或者磁盘访问控制器带宽瓶颈造成(主要是块操作)。 id :cpu处在空闲状态时间百分比

    84940

    一篇文章带你领略Android混淆魅力

    那么,说了这么多,Android 平台上到底该如何开启混淆呢? 2.1 启用混淆 .........不难看出,我们一般在打 release 包时才启用混淆,因为混淆会增加额外编译时间,所以不建议 debug 模式下启用。此外,需要注意是:只有启用混淆前提下开启资源压缩才会有效!...以上代码中 proguard-android.txt 表示 Android 系统为我们提供默认混淆规则文件,而 proguard-rules.pro 则是我们想要自定义混淆规则,至于如何自定义混淆规则我们将在接下来会讲到...庆幸是,Android 系统默认混淆规则中已经添加了对于枚举处理,我们无需再去做额外工作。想了解更多枚举内部细节可以去查看源码,篇幅有限不再细说。...幸运是,ProGuard 为我们提供了补救措施,着手进行之前,我们先来看一下 ProGuard 每次构建后生成了哪些内容。

    97020

    iOS·枚举变量 未赋值赋值为空 情况下,默认值为0(即第一个枚举类型)

    枚举类型变量赋值特性: 一个枚举类型如果没有赋初值,则默认值为0。 一个枚举类型如果赋值为nil,同样值为0。...= 1 }; 调用时候,代码欲从VC字典数组 self.resource 中获取某字典 self.resource[indexPath.row] 并取出 type 键值对,但实际使用时,该字典并不存在键值对...,即 [self.resource[indexPath.row] objectForKey:@"type"] 为空,这时候如果把它传递给枚举类型,所获得到枚举类型仍为0。...打个断点,可以发现type1和type2值均为PopupTypeNormal,即第一个枚举类型。...结论 可见,某些博客讲,上述这些对字典判空方法,是无效

    7.7K10

    Android开发:请你吃一顿史上最全Android混淆大餐

    那么,说了这么多,Android 平台上到底该如何开启混淆呢? 启用混淆 .........不难看出,我们一般在打 release 包时才启用混淆,因为混淆会增加额外编译时间,所以不建议 debug 模式下启用。此外,需要注意是:只有启用混淆前提下开启资源压缩才会有效!...以上代码中 proguard-android.txt 表示 Android 系统为我们提供默认混淆规则文件,而 proguard-rules.pro 则是我们想要自定义混淆规则,至于如何自定义混淆规则我们将在接下来会讲到...庆幸是,Android 系统默认混淆规则中已经添加了对于枚举处理,我们无需再去做额外工作。想了解更多枚举内部细节可以去查看源码,篇幅有限不再细说。...幸运是,ProGuard 为我们提供了补救措施,着手进行之前,我们先来看一下 ProGuard 每次构建后生成了哪些内容。

    4.8K30

    Android混淆你了解多少?

    那么,说了这么多,Android 平台上到底该如何开启混淆呢? 启用混淆 .........不难看出,我们一般在打 release 包时才启用混淆,因为混淆会增加额外编译时间,所以不建议 debug 模式下启用。 此外,需要注意是:只有启用混淆前提下开启资源压缩才会有效!...以上代码中 proguard-android.txt 表示 Android 系统为我们提供默认混淆规则文件,而 proguard-rules.pro 则是我们想要自定义混淆规则,至于如何自定义混淆规则我们将在接下来会讲到...庆幸是,Android 系统默认混淆规则中已经添加了对于枚举处理,我们无需再去做额外工作。想了解更多枚举内部细节可以去查看源码,篇幅有限不再细说。...幸运是,ProGuard 为我们提供了补救措施,着手进行之前,我们先来看一下 ProGuard 每次构建后生成了哪些内容。

    1.9K00

    不确定列号情况下如何使用Vlookup查找

    最近小伙伴收集放假前排班数据 但是收上来数据乱七八糟 长下面这样 但是老板们只想看排班率 所以我们最终做表应该是这样 需要计算出排班率 排班率=排班人数/总人数 合计之外每一个单元格...都需要引用 除了最基础等于=引用 我们还有一种更加万能Vlookup+Match方法 这样无论日期怎么变化 无论日期顺序是否能对上 我们都不用更改公式 例如A部门,2月1日排班率应该这么写 =...B17 单元格为排班率日期 A2:K2 单元格为我们排班人数日期 M2:N8单元格是总人数 其中 分子排班人数公式是 VLOOKUP($A18,$A$1:$K$8,MATCH(B$17...,$A$2:$K$2,0),0) 排班人数里面的日期匹配 我们用Match函数动态确定列号 MATCH(B$17,$A$2:$K$2,0) 分母总人数比较简单 就是常规Vlookup VLOOKUP...部门合计我们需要确定部门行号即可 为防止部门变动 最好也用公式确定行号 这一块 可以有两种写法 一种是用Sum,Offset,Index,Match函数组合 =SUM(OFFSET(INDEX

    2.4K10
    领券