expo-duooomi-app/plugins/withLargeHeap.js

33 lines
906 B
JavaScript

const { withAndroidManifest } = require('@expo/config-plugins')
/**
* 为 Android 应用启用 largeHeap 模式
* 这将允许应用使用更大的堆内存,避免因图片/视频加载导致的内存不足
*/
const withLargeHeap = (config) => {
return withAndroidManifest(config, (config) => {
const androidManifest = config.modResults.manifest
// 确保 application 节点存在
if (!androidManifest.application) {
androidManifest.application = [{}]
}
const application = androidManifest.application[0]
// 设置 largeHeap 为 true
application.$['android:largeHeap'] = 'true'
// 可选:启用硬件加速
if (!application.$['android:hardwareAccelerated']) {
application.$['android:hardwareAccelerated'] = 'true'
}
console.log('✅ withLargeHeap: 已启用 largeHeap 模式')
return config
})
}
module.exports = withLargeHeap