33 lines
906 B
JavaScript
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
|