• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools
All Chinese English Newest Hottest
30 search results Contribute

SwiftUI 引入了新的 ContentUnavailableView 类型,允许我们在应用程序中展示空状态、错误状态或任何其他内容不可用的状态。本周,我们将学习如何使用 ContentUnavailableView 引导用户浏览应用程序中的空状态。

6 Technology lddgo Shared on 2024-01-04

Swift 是一种适用于iOS/macOS应用开发、服务器端的编程语言。自2014年苹果发布 Swift 语言以来,Swift5 实现了 ABI 稳定性、Module 稳定性和Library Evolution,与Objective-C(下文简称“OC”)相比,Swift 在开发效率、安全、编译优化、运行性能和内存管理方面具有显著优势。(官方博客:https://www.swift.org/about/) 百度App 已在工程和环境上支持 Swift 开发,百度搜索大前端团队负责搜索服务的稳定落地,我们积极探索 Swift的应用,希望能大幅提升开发效率和灵活性、提升端用户的搜索体验。然而,在实施过程中可能会遇到各种问题,例如代码陈旧且不支持Swift,人员对Swift掌握不够熟练、意识不足,协作方对Swift的支持不足等。 对于其他语言来说,Swift相对年轻,我们在实践过程中整理一些常见问题及其解决方法,希望能帮助读者更顺利地使用Swift进行编程,提高研发效率。

9 Technology lddgo Shared on 2023-12-27

百度APP作为日活过亿的国民级应用,经过这些年的发展,从最初的搜索,发展到现在包含搜索、Feed、视频、直播、小说、购物、小程序、网盘和众多垂类模块的超级应用,为服务更多用户满足更多用户需求不断迭代,应用像滚雪球一样越滚越大,包体积从最初的几十MB发展到最高时的420MB,每个版本自然迭代会有至少3MB的涨幅,过大的包体积带来的负面作用开始显现,400M的体积对下载转化率和卸载率提出了很大的挑战,因此包体积成为百度超级APP发展的拦路虎。 22年Q3开启包体积优化项目,从编译器优化(OC&Swift&C++优化、LTO优化、剥离调试符号、三方SDK优化)、图片优化(无用图片、HEIC图片优化、Asset Catalog图片优化、图片压缩)、资源瘦身(大资源优化、无用配置文件、重复资源)、代码瘦身(无用类、无用方法、无用模块、精简重复代码、工具类瘦身、AB实验固化)和工程架构(Xcode打包、防劣化)等方向做优化。 在满足正常业务迭代情况下,优化落地收益50M,百度APP包体积从七月初的395M下降到十二月末的352M,同一时间段内,国内大厂主流APP中,微信从502M上涨到530M,

14 Technology lddgo Shared on 2023-12-04

在上一篇文章,我们介绍了包体积优化的必要性、安装包组成部分和生成过程、国内外大厂APP包体积分析、百度APP包体积优化技术方案及各项收益,本文重点讲述图片优化,解压IPA包后发现,百度APP中asset和bundle里面图片共有94M,这是我们重点优化的对象。

15 Technology lddgo Shared on 2023-12-04

百度APP iOS端包体积优化系列文章的前两篇重点介绍了包体积优化整体方案、各项优化收益和图片优化方案,图片优化是从无用图片、Asset Catalog和HEIC格式三个角度做深度优化。本文重点介绍资源优化,在百度APP实践中,资源优化包括大资源优化、无用配置文件和重复资源优化。不管是资源优化还是代码优化,都需要分析Mach-O文件,以获取资源和代码的引用关系,本文先详细介绍Mach-O文件。

15 Technology lddgo Shared on 2023-12-04

百度APP iOS端包体积优化系列文章的前三篇重点介绍了包体积优化整体方案、图片优化和资源优化,图片优化是从无用图片、Asset Catalog和HEIC格式三个角度做深度优化,资源优化包括大资源优化、无用配置文件和重复资源优化,本文重点介绍代码优化,在百度APP实践中,代码优化包括无用类优化、无用模块瘦身、无用方法瘦身、精简重复代码、工具类瘦身和AB实验固化。在代码优化过程,需要分析Mach-O和Link Map,在前面的文章我们已经针对Mach-O文件做过了分析,本文先介绍Link Map文件,然后再详细介绍代码优化方案。

11 Technology lddgo Shared on 2023-12-04

之前的文章介绍了图片优化和代码优化的几种方式,本篇文章重点介绍HEIC图片和无用类检测的优化实践。HEIC是High Efficiency Image Format(高效图像格式)的缩写,是一种新的图像文件格式,它是2017年苹果公司在iOS 11中引入,用于代替JPEG图像格式,以更高效地压缩图像并减少存储空间占用。HEIC支持多帧图像、透明度和16位深度色彩,使得它成为高质量图像和动画的理想选择。本文重点探究HEIC图片在百度APP中使用的可行性和包体积收益,验证HEIC图片在Bundle和Asset Catalog的兼容性,重点研究了Asset Catalog管理图片的机制,记录了验证过程中发现的特殊问题和解决思路。无用类则是详细介绍了如何用静态分析和动态分析相结合的方式,精简代码体积。

26 Technology lddgo Shared on 2023-12-04

百度APP包体积经过一期优化,如无用资源清理,无用类下线,Xcode编译相关优化,体积已经有了明显的减少。但是优化后APP包体积在iPhone11上仍有350M的空间占用。与此同时百度APP作为百度的旗舰APP,业务迭代非常多且迅速,体积优化和防劣化仍然是当前阶段的一个核心任务。因此百度APP开启了粒度更小,修复风险更高的无用方法清理相关工作。期望通过无用方法清理,有效降低百度APP的包体积,同时删除项目中的无用方法,冗余代码,提高代码的整洁度。

15 Technology lddgo Shared on 2023-12-04

百度APP iOS端包体积优化系列文章的前六篇重点介绍了包体积优化整体方案、图片优化、资源优化、代码优化、无用类优化、HEIC图片优化实践和无用方法清理,图片优化是从无用图片、Asset Catalog和HEIC格式三个角度做深度优化;资源优化包括大资源优化、无用配置文件和重复资源优化,代码优化包括无用类优化、无用模块瘦身、无用方法瘦身、精简重复代码、工具类瘦身和AB实验固化。本文重点介绍编译器优化,在百度APP实践中,编译器优化包括GCC语言编译优化、Swift编译优化、LTO优化、剥离调试符号、剥离符号表、剔除未引用的代码、Asset 优化、C++虚函数优化和三方SDK编译器方向瘦身。此外,我们重点介绍了指令集架构优化、XCode升级优化和Swift内置动态库优化,这三个模块优化的基础原理都涉及到编译器,所以我们在此篇章一起介绍。

11 Technology lddgo Shared on 2023-12-04

在可访问性方面,图表是复杂的事物之一。iOS 15 引入了一项名为“音频图表”的新功能。 下面我们将学习如何通过使用 accessibilityChartDescriptor 视图修饰符为任何 SwiftUI 视图构建音频表示,呈现类似自定义条形图视图或图像的图表。

12 Technology lddgo Shared on 2023-11-23