日常速记 -> 关于减少APK体积

VASP+Multiwfn+VMD静电势计算与可视化全流程解析 静电势是表征分子与材料表面电荷分布的关键物理量,它通过求解泊松方程,将电子密度与原子核电荷在空间中的贡献结合起来,直观揭示体系的电子富集与缺失区域。这一性质在理解化学反应活性、分子间相互作用(如氢键、卤键)以及材料表面性质方面具有重要价值。在计算材料科学与量子化学领域,基于第一性原理计算获得高精度电子结构数据后,如何将其转化为可直观分析的静电势图,是连接理论计算与物理解释的关键技术环节。本文聚焦于构建一条高效、可控的端到端工作流,详细解析如何利用VASP进行高精度电子密度计算,通过专业波函数分析软件Mult 阅读详情

title: 包体积记录
date: 2018-07-17 11:49:05


border="0" width="330" height="86" src="//music.163.com/outchain/player?type=2&id=409149500&auto=1&height=66">

日常速记 -> 关于减少APK体积

附上goole官方apk优化指南网址
Reduce your app size
https://developer.android.google.cn/topic/performance/reduce-apk-size

重点:

1.APP结构要先清楚一下   
2. AS双击编译好的apk 
3. apk本就是一个zip

代码阶段

1. 避免使用枚举    
1. 减少不必要的生成的代码

减少无用资源

1. so文件,三方Library 网上也是各种软解决 只是提供各种思路     
1. 
1. 能用<shape> in XML 尽量减少png  
1.  减少无用文件例如 xml;png;string;color;等
减少资源分多种 :
1.Analyze -> Run Inspection by Name... -> Unused res 可根据条件筛选 

2.右键 -> Refactor -> Remove Unused res (这个是有个坑的一般代码引用的资源文件是不会筛选删除的但Kotlin类代码的资源引用会被删除 有Kotlin慎用)
 
3. minifyEnabled true   
proguardFiles 'proguard.cfg'    
shrinkResources true(引用的资源可以剔除 但要注意有的资源文件是根据代码动态匹配添加这种情况是有问题的)

压缩项目中引用的png图

1.可通过在Mac上安装Guetzli 具体细节google   
2.TinyPNG for Mac 这种压缩计算方式暂时算是最优

微信混淆

插件化了解一下

用 ABAP RAP + XCO 把 Excel 导入业务对象:从弹窗 Action 到 EML 落库与附件清理的完整实践 摘要:本文介绍了在SAP RAP框架下实现Excel批量导入功能的完整方案。通过XCO库的XLSX模块解析Excel文件,结合RAP的行为定义和Fiori Elements界面集成,构建了一个支持试运行、数据校验和自动合并的业务导入功能。方案采用RAP标准范式,包括Action参数设计、EML事务处理、附件管理以及异常消息反馈,实现了从文件上传到数据落库的端到端流程,既保证了系统稳定性,又提升了业务用户体验。 阅读详情

相关推荐

ε-差分隐私之拉普拉斯噪声机制(定义 + 证明 + 代码)

ε-差分隐私之拉普拉斯噪声机制 差分隐私的描述 1-范式的定义:使用matlab调用函数norm(x, 1) 更多范式见 范式 差分隐私的定义应该满足 拉普拉斯噪声的证明全过程如下: DP方向差分隐私证明是基本入门!!! -拉普拉斯噪声分布代码 Laplace分布的概率密度函数的形式是: 使用python - matplotlib来绘制概率分布图: import matplotlib.pyplot as plt import numpy as np def laplace_fun

毕业才是起点 1万+

6.关于Xamarin Android对APK包大小的处理

降低学习成本是每个.NET传教士义务与责任。 建立生态,保护生态,见者有份。 对于apk 包的大小大家都是很敏感的,虽然现在安卓手机的性能和存储越来越厉害了。本着能少一点是一点的态度,我们还是要深入理解下xamarin 生成的apk包里面有那些内容。 原文来自于:https://developer.xamarin.com/zh-cn/guides/android/advanced_to...

weixin_30273175的博客 507

速腾16线激光雷达(RS-16)在ubuntu18.04系统下跑SC-A-LOAM算法

说明: 简要记录一下速腾16线激光雷达即RS-16在ubuntu18.04系统下跑SC-A-LOAM算法的过程,因为SC-A-LOAM算法源码不支持RS雷达的数据,大致思想就是先将rs雷达发布的激光数据转换为velodyne类型的数据,考虑到接下来还要基于RS-16实时运行SC-A-LOAM算法,这里提前将RS_SDK驱动安装好。 1 搭建SC-A-LOAM算法运行环境 首先需要在电脑上搭建SC-A-LOAM算法的运行环境,见文章《ubuntu18.04搭建SC-A-LOAM环境并运行》 本文所使用的系统架

超爱吃小蛋糕的66的博客 2373

Android 减小安装包大小(二) 利用 APK Analyzer 为应用“瘦身”

Android Studio的插件 APK Analyzer, 利用 APK Analyzer 为应用“瘦身”

mwq30123的专栏 2514

BSL编程语言 —— 系统化程序设计

BSL编程语言简介 文章目录0. 选择编程语言1. 写简单的表达式(Expression) 0. 选择编程语言 如果你第一次使用DrRacket,打开后需要选择Beginning Student Language (BSL) Language -> Choose Language (或直接按Ctrl + L),看到如下洁面后选择Beginning Student,点击OK 定义区【De...

CSDoneRight的博客 6451

FDTD仿真进阶:液晶偏振调控与双折射效应全解析

本文深入解析了在Lumerical FDTD仿真中如何对液晶材料进行偏振调控与双折射效应建模。通过单轴液晶和螺旋扭曲液晶(TN-LCD)两大实战案例,详细阐述了从各向异性材料参数设置、LC网格属性配置到偏振椭圆分析的全流程,帮助工程师精准模拟液晶的光开关行为,优化如显示器等器件的光学性能。

chair的专栏 747

最佳实践 —— 详细谈谈如何减小APK体积

转载请注明出处: http://www.cnblogs.com/soaringEveryday/p/5254520.html 随着Android移动开发的需求越来越复杂,我们不可避免的遇到发布出去的apk体积越来越大的问题,目前超过10MB、20MB的apk已经是很常见的事情了,但是依然能够看到一些apk的体积控制的很小。apk体积增大源于: 新需求不断的提出 需要支持高分辨率的屏...

weixin_30314793的博客 880

论文阅读:SuperGaussians: Enhancing Gaussian Splatting Using Primitives with Spatially Varying Colors

Gaussian Splattings 在基于高斯显式表示的多视图重建中展示出了令人印象深刻的结果。然而,当前的高斯基元只有单视图依赖的颜色和不透明度来表示场景的外观和几何形状,导致了一种非紧凑的表示。在本文中,我们引入了一种名为“超高斯(SuperGaussians)”的新方法,它在单个高斯基元中利用空间变化的颜色和不透明度来提高其表示能力。我们实现了双线性插值、移动核,甚至是小型神经网络作为空间变化函数。

m0_48319749的博客 1508

Xamarin.Android 打包Apk

Xamarin.Android发布程序详解

I'm SuperLuo 5848

FIFO应用于UART串口(含代码)

FIFO(First in first out)即先入先出,可以把它理解成一个缓存器,对于收发两端速度不一致,位宽不一致的情况可以使用FIFO作为收发两端中间的“调节剂”使数据可以进行正常发送。

m0_58544042的博客 2753

【Frida Android】实战篇8:客户端证书认证绕过 Hook 教程

通过重写类的方法,自定义证书校验逻辑;利用配置文件,从系统层面管理证书信任策略;以及通过 OkHttp 框架提供的方法,实现证书的强绑定校验。这些内容主要围绕客户端如何验证服务端证书的合法性展开。客户端证书认证。当 APK 预置了客户端证书,并且服务端会对客户端证书进行校验时,传统的中间人攻击方式将面临新的挑战。我们将深入分析这种场景的工作原理,并详细介绍如何通过技术手段获取客户端证书、配置中间人工具,最终成功实现抓包分析。

水滴石穿 1427

Android进阶7:APK瘦身(减少APK体积)

对于Android开发来说,关于减少APK体积的重要性,就不再多说了,直接进入正题吧。 首先对于APK瘦身,分为两种:压缩资源,压缩代码 1:移除无用资源和无用代码 移除无用资源分为两种:手动移除和自动移除 手动移除: Android studio提供了相应的检测工具 Link : Analyze &amp;amp;amp;amp;amp;gt; Inspect Code 在控制台的Inspection Results中显示出需要更改...

lmq121210的博客 1490

用AList挂载网盘,无损看VR电影教程,无需下载到PICO头显本地!

用AList挂载网盘 + WebDAV直连头显,看片像拉本地一样流畅,不怕卡顿、不怕没空间,简直是VR看片刚需配置!别再用U盘传电影了,用AList + WebDAV,直接流畅看4K,看片效率翻倍,体验提升一个档次!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 5546

Logseq 移动端 72 小时实测:通勤速记、会议录音与双机接力 3 个场景的真实表现

我用 72 小时、两台真机实测了 Logseq 移动端:iPhone 13(iOS 17.4)与 Pixel 7(Android 14),版本为 0.9.1 正式版,测试图谱 237 页、约 4100 个块,覆盖离线速记、会议录音、双机接力 3 个高频场景。先说结论:离线响应是我测过的知识管理工具里最快的,50 个块连击全程零加载等待;多端同步可用但仍有门槛,DB 版本目前仍在 beta,迁移前建

gitblog_00071的博客 941

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

移动端大语言模型部署实战:从Phi-3模型到手机AI助手

大语言模型(LLM)的部署正从云端向边缘设备延伸,其核心在于模型压缩与推理优化技术。通过量化、格式转换(如GGUF、ONNX)和专用推理引擎,模型得以在资源受限的移动设备上高效运行。这一技术路径的价值在于实现低延迟、高隐私的离线AI能力,为移动应用带来原生智能体验。其应用场景广泛,涵盖个人AI助手、实时翻译、代码辅助及嵌入式AIoT设备。本文以微软Phi-3模型为例,深入探讨了在Android/iOS设备上部署轻量级LLM的完整方案,涵盖Ollama集成与ONNX Runtime原生开发两条技术路线,并针对

anvt77205的博客 578

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android代码优化(一)-Remove unused resources

概述 随着android项目的开发,项目的体积肯定是会越来越大,结构变得复杂。尤其是模块化、重构后,会产生许多代码和资源的重复冗余。这对于程序员来说简直就是噩梦。因为在开发中,绝大多数时间都是浪费在编译调试上,对于企业级的项目来说,尤为明显。因此优化代码目录结构,减少冗余代码和资源,对项目都是很有帮助的。今天,我就通过Android Studio自带的Code Analyze,介绍一下如何删除无...

船长的Android黑科技 7351

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Android代码优化(二)-Remove unused java

概述 上一篇写了关于如何remove unused resources,今天就继续来讲讲,如何删除无用的java文件。工程中,java文件无疑是主体,随着进度的推进,许多类也会被废弃,这里将继续使用Android Studio自带的Analyze工具进行分析。 介绍 在老早的eclipse时期…txtx,有个叫“UCDetector”的插件,可以帮助开发者寻找无用的java文件,但是在A...

船长的Android黑科技 2108

使用模块化编译缩小 apk 体积

libcocos2dlua.so编译出来有11M多,其中包含了很多不需要的模块,模块化编译,把不需要用到的模块弄成0,体积就小了。 如: 修改D:\codeide\sDiShu2formm\frameworks\runtime-src\proj.android\jni\Application.mk为 ifeq ($(NDK_DEBUG),1) APP_CPPFLAGS += -DCOC...

weixin_34408717的博客 133

减少APK体积的一种方法

使用 provided 替代compile 标签,这样引入的库可以保证编译通过,但打包的时候并不引用此第三方库。这样做可有效减小APK体积。

陆羽_ 的简单生活 2004

Kotlin数据去重实现distinctBy源码

摘自Kotlin源码 package kotlin.collections /** * Returns a list containing only elements from the given collection * having distinct keys returned by the given [selector] function. * * The elements in...

AAAndroid的博客 9861

Android Glide 4.0编译找不到GlideApp

Glide官方文档: Android Studio 在大多数时候都可以正确地处理注解处理器 (annotation processor) 和 generated API。然而,当你第一次添加你的 AppGlideModule 或做了某些类型的修改后,你可能需要重新构建 (rebuild) 你的项目。 无论何时,如果你发现 API 没有被 import ,或看起来已经过期,你可以通过以下方法重新构建...

AAAndroid的博客 1950

Android Glide4.0以上版本保存Gif文件方法

RequestListener&amp;lt;Drawable&amp;gt; 可以直接区别图片类型但保存文件比较繁琐 RequestListener&amp;lt;File&amp;gt; 可以直接保存文件但无法区别图片类型 以下代码已经实践 有更优的方式请留言 private val PATH_CAMERA_IMAGE = &quot;/hanzhi/myImage&quot; public fun loadGlideImageByI...

AAAndroid的博客 1620

Kotlin协程导致的RuntimeException

在测试的时候发现协程报出来的问题 2020-12-10 17:50:58.877 3078-3078/com.hyfontstudio.fontspro E/AndroidRuntime: FATAL EXCEPTION: main Process: com.hyfontstudio.fontspro, PID: 3078 java.lang.RuntimeException: Unable to stop service com.hyfontstudio.fontspro.ime.core

AAAndroid的博客 500

Kotlin影响序列化融云自定义消息的注解

/** * 其实是这个Java与Kotlin混合开发的使用问题 * * 当我们使用kotlin去写融云自定义消息时在java类去调用kotlin companion object { CREATOR } 一般语法结构为 Kotlin.Companion.getCREATOR() * 这时在java中去反序列化去解析是有问题的 当我们使用在kotlin companion object { @JvmField CREATOR } 语法调用为 Kotlin.CREATOR * * 在Ko..

AAAndroid的博客 461

InputContextCallback.waitForResultLocked导致的ANR

InputContextCallback.waitForResultLocked Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. waitqueue length = 35, head.seq =

AAAndroid的博客 395

不需要Activity的AlertDialog

private fun loadingAlertDialog() { var layoutParams: WindowManager.LayoutParams? = null val inflate = View.inflate(FontsApp.instance, R.layout.layer_lock_dialog, null) val builder = AlertDialog.Builder(FontsApp.instance, R.style.Tr.

AAAndroid的博客 368
上一篇: Android Glide 4.0编译找不到GlideApp
下一篇: Kotlin数据去重实现distinctBy源码
TheWindRises_QAQ
博客等级 码龄10年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值