APP瘦身,减小包大小的方法
来源:互联网 发布:bilibili手机直播软件 编辑:程序博客网 时间:2024/06/10 00:14
资源过多,容易导致APP的包太大,会加重上传和下载的负担,所以有的时候需要做一些优化
- 不透明的大图片压缩成JPG格式
- 大的背景图片如果一定要是png的,可以用photoshop 把它保存为web格式的图片,压完之后注意看一下,有没有太大的失真。
- 删除不必要的字体,如果一定要,可以考虑使用 ios api (未验证)http://blog.csdn.net/bingowxd/article/details/16848595
- 把product 里面的文件 使用“显示包内容”方式,按照文件大小排序,查看打完包后具体是哪些图片占用太多的空间,并针对性地优化
tips:
- photoshow 有动作录制回放功能,可以把相同的操作用快捷键完成,不会使用请百度谷歌
- png压缩成jpg,代码里面需要做一些特殊的更改。考虑到一般使用 [UIImage imagewithname:@"name.png"], 新建一个类,继承自UIImage,重写image named:方法,把name方法改成能够识别 jpg、JPG、png、PNG以及@2x,代码附在后面
- Xcode编译如果遇到重复的文件,报错,但不影响编译通过,解决办法就是把重复的文件删除就行了
- 我使用的软件 Dedupo:去掉重复的文件 EazyBatchPhoto: 图片格式转换,可 png 和 jpg 互转 photoshop:当EazyBatchPhoto压缩不理想,使用保存为web格式。
.h 文件
#import <UIKit/UIKit.h>@interface DSImageForExtention : UIImage@end.m 文件
#import "DSImageForExtention.h"@implementation DSImageForExtention+ (UIImage *)imageNamed:(NSString *)name{ NSString *imgName = nil; if ([super imageNamed:name]) { return [super imageNamed:name]; } else { imgName = name; if ([imgName hasSuffix:@"jpg"]) { imgName = [imgName stringByReplacingOccurrencesOfString:@"jpg" withString:@"png"]; if (![super imageNamed:imgName]) { imgName = [imgName stringByReplacingOccurrencesOfString:@".png" withString:@".@2x.png"]; } } else if ([imgName hasSuffix:@"png"]) { imgName = [imgName stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"]; if (![super imageNamed:imgName]) { imgName = [imgName stringByReplacingOccurrencesOfString:@".jpg" withString:@".@2x.jpg"]; } } } return [super imageNamed:imgName];}@end注:因为这个代码是根据自己的项目定制的,使用的时候请根据实际情况修改
使用方法
[[UIImageView alloc] initWithImage:[DSImageForExtention imageNamed:@"hello@2x.png"]];
0 0
- APP瘦身,减小包大小的方法
- 【IOS】APP瘦身,减小包大小的方法
- 减小App包的大小
- 减小Apk包大小的常用方法
- APK瘦身优化,减小apk的大小
- Android APK 瘦身实践(减小apk的大小)
- 如何减小ipa包大小方法总结
- 减小unity iOS版包大小方法
- ios 如何减小app的大小
- 减小包大小
- Android 减小安装包大小(二) 利用 APK Analyzer 为应用“瘦身”
- APK--瘦身之路--减小软件大小
- 减小app大小的方法——iOS开发用ImageOptim压缩png图片
- VC2008减小对话框程序大小的方法 .
- 减小dnn模型大小的方法
- Android APK瘦身/减小包体
- android 减小apk安装包大小方法及相关优化
- 减小App大小:图片篇
- Leetcode--Validate Binary Search Tree
- uboot makefile分析
- C++调用C# com组件:一个完整的的小例子
- Servlet ServletContextListene 和HttpSessionListener 作用
- Hadoop 2.4 完全分布式环境安装与配置
- APP瘦身,减小包大小的方法
- ios UIKit框架分析 第3天
- 卸载Resharper
- 网友晒“老妈口头禅” 引集体共鸣
- mybatis generator 使用
- 信息安全芯片和产品
- FusionCharts图表右键菜单的各种典型示例
- [ACM] hdu 1035 Robot Motion (模拟或DFS)
- java字符串排序