Android开发(题外话之虚拟机卡顿)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

我们平常开发嵌入式的时候,一种是keil居多,还有一种就是linux开发、或者是android开发。前者的话,基本安装一下keil软件即可,烧入和调试都是可以的。后者就是需要安装linux系统。目前用的比较多的linux系统,主要还是ubuntu。一来安装比较方便,二来下载软件比较方便。但是最近发现,virtualbox安装ubuntu的时候,如果是比较新的ubuntu,会比较卡顿。

一、目前的virtualbox版本

当前电脑里面的virtualbox版本不算老,也不算新,是6.1,大约是2023年的时候发布的。和最新的virtualbox版本7.1,还是有点不同。

二、6.1版本最适配的os

本身virtualbox对于老的ubuntu适配还是比较好的,比如说早期的14.04、16.04等等。最最稳定的还是20.04,基本都是非常稳定的。只要安装好增强包,和usb扩展包,就可以很舒服的使用ubuntu系统。哪怕ubuntu本身磁盘大小不够,也可以通过添加数据盘的方法解决。

三、新soc搭配新的ubuntu os

目前各个soc厂家都不断推出自己的soc芯片,比如rk系类的3588、3576。其他厂家的soc也是如此。既然是新的soc,那么他们就喜欢用新的ubuntu,来对这些soc做交叉编译。所以在sdk里面,或者是手册里面就会优先推荐比较新的os,来编译这些sdk,比如rk3576,就会优先推荐ubuntu 22.04。

四、新ubuntu os比较容易卡顿

之前一直用virtualbox 6.1 + ubuntu 20.04来开发各个soc,做各种交叉编译,一般也没有什么问题。但是,自从安装了ubuntu 22.04之后,就会发生一个明显的问题,那就是卡死。这种卡死,就是画面完全卡住,完全不能动弹的状态。

比如说,如果虚拟机一直开着,我们在terminal下面做各种操作,这种情况下一般不会有什么问题,最多就是鼠标略微有点拖影。但是如果中途有事,合上了笔记本,再次打开virtualbox虚拟机的时候,就会出现刚才说的界面卡死的问题。而且,这种问题发生的概率特别高,基本一天都要发生好几回。

五、分析和解决

本来想通过安装另外一个virtualbox的方法来解决的,后来提示说一台电脑不能同时安装不同版本的virtualbox。所以,只好继续寻找答案。在一次搜索的时候,提示说是ubuntu 22.04最新的desktop方案和virtualbox不兼容,最好的办法,就是输入用户名密码的时候,选择ubuntu on xorg即可,这样几乎不会出现卡顿了。试了一下,果然如此。

其他的就是常规的配置调整,比如内存分配2G,cpu分配4个core,显存分配48M,显卡控制器用VMSVGA,不要启用3D加速。这样整体的os体验会提高不少。简单来说,就是不要吝啬给虚拟机分配资源,但是也不要分配太多资源,不然host主机也很卡。

相关推荐
2501_915921432 天前
iOS开发环境搭建详解 Xcode 配置与快蝎轻量级工具选择
ide·vscode·macos·ios·个人开发·xcode·敏捷流程
BestHeaker2 天前
试用 WorkBuddy 一段时间的个人笔记:它能做什么、积分怎么算、以及我的真实评价
个人开发·学习方法·ai编程
meetqyx5 天前
Inset v0.0.6:批量整理、独立 资源库 设置与中英文支持
生活·个人开发
您^_^5 天前
使用技巧(十一):Claude Code 最强审问官 —— grill-me 深度指南,装完先别写代码
人工智能·windows·个人开发·claudecode·deepseek v4 pro
代码里的AI星5 天前
新网站上线后的推广与收录实战:独立开发者如何获取第一批真实用户
个人开发·推荐算法·吐槽
2501_916008896 天前
iOS应用开发工具全面解析:如何选择与优化开发效率
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
游戏开发爱好者88 天前
iOS开发IDE有哪些 Xcode 和 快蝎 轻量替代方案
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
爱写代码的阿木8 天前
基于鸿蒙OS开发附近社交游戏平台(八)-聊天组件
华为·个人开发·harmonyos
white_ant9 天前
17- 文本统计/处理工具使用指南
rust·个人开发·tauri
2501_915921439 天前
从零开始学 Swift iOS 开发 iOS应用入门
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程