Remove memory limit settings

This commit is contained in:
世界
2026-02-26 13:55:19 +08:00
parent d897054612
commit 492f8cba58
9 changed files with 0 additions and 79 deletions

View File

@@ -131,7 +131,6 @@ class BoxService(private val service: Service, private val platformInterface: Pl
} }
DefaultNetworkMonitor.start() DefaultNetworkMonitor.start()
Libbox.setMemoryLimit(!Settings.disableMemoryLimit)
try { try {
commandServer.startOrReloadService( commandServer.startOrReloadService(

View File

@@ -16,23 +16,18 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.outlined.BatteryChargingFull import androidx.compose.material.icons.outlined.BatteryChargingFull
import androidx.compose.material.icons.outlined.Memory
import androidx.compose.material3.Button import androidx.compose.material3.Button
import androidx.compose.material3.Card import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults import androidx.compose.material3.CardDefaults
import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.ListItem
import androidx.compose.material3.ListItemDefaults
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.Switch
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@@ -40,12 +35,9 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
@@ -53,13 +45,8 @@ import androidx.compose.ui.unit.dp
import androidx.navigation.NavController import androidx.navigation.NavController
import io.nekohasekai.sfa.R import io.nekohasekai.sfa.R
import io.nekohasekai.sfa.bg.ServiceConnection import io.nekohasekai.sfa.bg.ServiceConnection
import io.nekohasekai.sfa.compose.base.GlobalEventBus
import io.nekohasekai.sfa.compose.base.UiEvent
import io.nekohasekai.sfa.compose.topbar.OverrideTopBar import io.nekohasekai.sfa.compose.topbar.OverrideTopBar
import io.nekohasekai.sfa.database.Settings
import io.nekohasekai.sfa.ktx.launchCustomTab import io.nekohasekai.sfa.ktx.launchCustomTab
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
@@ -79,11 +66,8 @@ fun ServiceSettingsScreen(navController: NavController, serviceConnection: Servi
} }
val context = LocalContext.current val context = LocalContext.current
val scope = rememberCoroutineScope()
// Check battery optimization status // Check battery optimization status
var isBatteryOptimizationIgnored by remember { mutableStateOf(false) } var isBatteryOptimizationIgnored by remember { mutableStateOf(false) }
var ignoreMemoryLimit by remember { mutableStateOf(Settings.disableMemoryLimit) }
// Activity result launcher for battery optimization permission // Activity result launcher for battery optimization permission
val requestBatteryOptimizationLauncher = val requestBatteryOptimizationLauncher =
rememberLauncherForActivityResult( rememberLauncherForActivityResult(
@@ -187,56 +171,6 @@ fun ServiceSettingsScreen(navController: NavController, serviceConnection: Servi
} }
} }
// Options Section
Card(
modifier =
Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp),
colors =
CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surfaceContainer,
),
) {
ListItem(
headlineContent = {
Text(
stringResource(R.string.ignore_memory_limit),
style = MaterialTheme.typography.bodyLarge,
)
},
supportingContent = {
Text(
stringResource(R.string.ignore_memory_limit_description),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant,
modifier = Modifier.padding(top = 4.dp),
)
},
leadingContent = {
Icon(
imageVector = Icons.Outlined.Memory,
contentDescription = null,
tint = MaterialTheme.colorScheme.primary,
)
},
trailingContent = {
Switch(checked = ignoreMemoryLimit, onCheckedChange = { checked ->
ignoreMemoryLimit = checked
scope.launch(Dispatchers.IO) {
Settings.disableMemoryLimit = checked
GlobalEventBus.tryEmit(UiEvent.RestartToTakeEffect)
}
})
},
modifier = Modifier.clip(RoundedCornerShape(12.dp)),
colors =
ListItemDefaults.colors(
containerColor = Color.Transparent,
),
)
}
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
} }
} }

View File

@@ -9,7 +9,6 @@ object SettingsKey {
const val SILENT_INSTALL_ENABLED = "silent_install_enabled" const val SILENT_INSTALL_ENABLED = "silent_install_enabled"
const val SILENT_INSTALL_METHOD = "silent_install_method" const val SILENT_INSTALL_METHOD = "silent_install_method"
const val AUTO_UPDATE_ENABLED = "auto_update_enabled" const val AUTO_UPDATE_ENABLED = "auto_update_enabled"
const val DISABLE_MEMORY_LIMIT = "disable_memory_limit"
const val DYNAMIC_NOTIFICATION = "dynamic_notification" const val DYNAMIC_NOTIFICATION = "dynamic_notification"
const val DISABLE_DEPRECATED_WARNINGS = "disable_deprecated_warnings" const val DISABLE_DEPRECATED_WARNINGS = "disable_deprecated_warnings"

View File

@@ -63,7 +63,6 @@ object Settings {
} }
} }
var autoUpdateEnabled by dataStore.boolean(SettingsKey.AUTO_UPDATE_ENABLED) { false } var autoUpdateEnabled by dataStore.boolean(SettingsKey.AUTO_UPDATE_ENABLED) { false }
var disableMemoryLimit by dataStore.boolean(SettingsKey.DISABLE_MEMORY_LIMIT)
var dynamicNotification by dataStore.boolean(SettingsKey.DYNAMIC_NOTIFICATION) { true } var dynamicNotification by dataStore.boolean(SettingsKey.DYNAMIC_NOTIFICATION) { true }
var disableDeprecatedWarnings by dataStore.boolean(SettingsKey.DISABLE_DEPRECATED_WARNINGS) { false } var disableDeprecatedWarnings by dataStore.boolean(SettingsKey.DISABLE_DEPRECATED_WARNINGS) { false }

View File

@@ -199,8 +199,6 @@
<string name="sponsor">حامی مالی</string> <string name="sponsor">حامی مالی</string>
<string name="working_directory">پوشه کاری</string> <string name="working_directory">پوشه کاری</string>
<string name="disable_deprecated_warnings">غیرفعال‌کردن هشدارهای منسوخ</string> <string name="disable_deprecated_warnings">غیرفعال‌کردن هشدارهای منسوخ</string>
<string name="ignore_memory_limit">نادیده گرفتن محدودیت حافظه</string>
<string name="ignore_memory_limit_description">محدودیت حافظه روی sing-box اعمال نشود.</string>
<string name="notification_settings">اعلان‌ها</string> <string name="notification_settings">اعلان‌ها</string>
<string name="enable_notification">فعال‌کردن اعلان</string> <string name="enable_notification">فعال‌کردن اعلان</string>
<string name="dynamic_notification">نمایش سرعت بلادرنگ در اعلان</string> <string name="dynamic_notification">نمایش سرعت بلادرنگ در اعلان</string>

View File

@@ -199,8 +199,6 @@
<string name="sponsor">Поддержать</string> <string name="sponsor">Поддержать</string>
<string name="working_directory">Рабочая директория</string> <string name="working_directory">Рабочая директория</string>
<string name="disable_deprecated_warnings">Отключить предупреждения об устаревании</string> <string name="disable_deprecated_warnings">Отключить предупреждения об устаревании</string>
<string name="ignore_memory_limit">Игнорировать ограничение памяти</string>
<string name="ignore_memory_limit_description">Не применять ограничения по памяти для sing-box.</string>
<string name="notification_settings">Уведомления</string> <string name="notification_settings">Уведомления</string>
<string name="enable_notification">Включить уведомления</string> <string name="enable_notification">Включить уведомления</string>
<string name="dynamic_notification">Отображать скорость в реальном времени в уведомлении</string> <string name="dynamic_notification">Отображать скорость в реальном времени в уведомлении</string>

View File

@@ -199,8 +199,6 @@
<string name="sponsor">赞助</string> <string name="sponsor">赞助</string>
<string name="working_directory">工作目录</string> <string name="working_directory">工作目录</string>
<string name="disable_deprecated_warnings">禁用弃用警告</string> <string name="disable_deprecated_warnings">禁用弃用警告</string>
<string name="ignore_memory_limit">忽略内存限制</string>
<string name="ignore_memory_limit_description">不对 sing-box 强制执行内存限制。</string>
<string name="notification_settings">通知</string> <string name="notification_settings">通知</string>
<string name="enable_notification">启用通知</string> <string name="enable_notification">启用通知</string>
<string name="dynamic_notification">在通知中显示实时网速</string> <string name="dynamic_notification">在通知中显示实时网速</string>

View File

@@ -199,8 +199,6 @@
<string name="sponsor">贊助</string> <string name="sponsor">贊助</string>
<string name="working_directory">工作目錄</string> <string name="working_directory">工作目錄</string>
<string name="disable_deprecated_warnings">停用過時警告</string> <string name="disable_deprecated_warnings">停用過時警告</string>
<string name="ignore_memory_limit">忽略記憶體限制</string>
<string name="ignore_memory_limit_description">不對 sing-box 強制執行記憶體限制。</string>
<string name="notification_settings">通知</string> <string name="notification_settings">通知</string>
<string name="enable_notification">啟用通知</string> <string name="enable_notification">啟用通知</string>
<string name="dynamic_notification">在通知中顯示即時網速</string> <string name="dynamic_notification">在通知中顯示即時網速</string>

View File

@@ -199,8 +199,6 @@
<string name="sponsor">Sponsor</string> <string name="sponsor">Sponsor</string>
<string name="working_directory">Working Directory</string> <string name="working_directory">Working Directory</string>
<string name="disable_deprecated_warnings">Disable Deprecated Warnings</string> <string name="disable_deprecated_warnings">Disable Deprecated Warnings</string>
<string name="ignore_memory_limit">Ignore Memory Limit</string>
<string name="ignore_memory_limit_description">Do not enforce memory limits on sing-box.</string>
<string name="notification_settings">Notification</string> <string name="notification_settings">Notification</string>
<string name="enable_notification">Enable Notification</string> <string name="enable_notification">Enable Notification</string>
<string name="dynamic_notification">Display realtime speed in notification</string> <string name="dynamic_notification">Display realtime speed in notification</string>