首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android性能优化概述

对于Android的性能优化,想必大家并不陌生,但是没有真正的总结一下,在此我根据自己平时开发,在结合一些读书笔记,对Android的性能优化,进行一些总结。 Android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,无法做到像PC设备那样的超大内存和高性能的CPU。 因此,这也意味着,Android不能无限制的使用内存和CPU资源,过多的使用内存会导致程序内存溢出,即OOM。而过多的使用CPU资源,一般是指大量的耗时任务,会导致手机变得卡顿甚至无法响应的情况,即ANR。性能优化的主要是包括布局优化、绘制优化、内存泄露优化、响应速度优化、Bitmap优化、线程优化。 性能优化中一个很重要的问题就是内存泄露,内存泄露并不会导致程序功能异常,但是它会导致Android程序的内存占用过大,这将提高内存溢出的发生几率。在设计程序的时候,还有一个问题也是不可忽略的,那就是代码的可维护性和可扩展性。如果一个程序的可维护性和可扩展性很差,那就意味着后续的代码维护代价是相当高的。

03

Electron以慢著称,为什么桌面QQ却选择它做架构升级?

相比用户停留时间短、用完即走的 Web 页面,桌面 QQ 用户在一次登录后,可能会挂机一周以上,这段期间,如果没有严格控制好 QQ 内存占用,那么结果可能是用户交互响应变慢、甚至 Crash。在系统监控工具里,高内存占用也会被直观地反映出来,带来不好的口碑。Mac QQ 灰度期间,也听到了一些用户关于内存占用偏高的声音。既然不能置若罔闻,那么必须得痛下决心系统地来一波内存占用分析与优化。在这个过程中,团队前前后后挖出来了不少优化项,最终,可以让桌面 QQ 在内存占用上达到一个相对较低且稳定的状态。本文内容是探索桌面 QQ 内存优化上的一个阶段性小结,肯定还有更多内存优化 trick,欢迎大佬们提点。

04

每日论文速递 | GaLore: 使用梯度低秩映射进行大模型 Memory-Efficient 全参训练

摘要:训练大型语言模型(LLMs)面临着显著的内存挑战,主要是由于权重和优化器状态的不断增大。常见的内存降低方法,如低秩适应(LoRA),在每一层中向冻结的预训练权重添加一个可训练的低秩矩阵,从而减少可训练参数和优化器状态。然而,这些方法通常在预训练和微调阶段的性能上都不如使用全秩权重训练,因为它们将参数搜索限制在低秩子空间中,改变了训练动态,并且可能需要全秩热启动。在这项工作中,我们提出了Gradient Low-Rank Projection(GaLore),一种允许全参数学习但比LoRA等常见低秩适应方法更节省内存的训练策略。我们的方法在优化器状态的内存使用上最多减少了65.5%,同时在使用C4数据集进行LLaMA 1B和7B架构的预训练以及在GLUE任务上对RoBERTa进行微调时,保持了效率和性能。我们的8位GaLore相较于BF16基准,将优化器内存进一步降低了82.5%,总训练内存降低了63.3%。值得注意的是,我们首次证明了在具有24GB内存的消费级GPU上(例如NVIDIA RTX 4090)进行7B模型的预训练是可行的,而无需模型并行、检查点策略或卸载策略。

01
领券