java - Android Java - 为什么在 60 后杀死服务器
问题描述
为什么Android中60后系统会杀死服务器
服务是否可以一直不受系统干扰地工作?
该问题出现在新的 Android 版本中
使用的代码
错误有什么解决办法
public class MyService extends Service {
@Override
public IBinder onBind(Intent intent)
{
return null;
}
@Override
public void onCreate()
{
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
String data = intent.getExtras().getString("LCD1");
return START_STICKY;
}
@Override
public void onDestroy()
{
super.onDestroy();
}
}
<service
android:name=".MyService"
android:label="Test"
android:exported="true">
<intent-filter >
<action android:name="com.mhm.servertest.MyService" />
</intent-filter>
</service>
解决方案
这对于长时间运行的服务,在 Android 中实现长时间运行的服务之前,您应该考虑几件事,例如
- Android OS 负责后台服务执行时间的打盹模式。
- 请参阅此答案以了解更好地使用内存和 CPU 处理服务。
- Workmanager可以用来做并发工作
- 您应该在清单 xml 中添加android:stopWithTask="false" 。
推荐阅读
- anaconda - 如何在 conda 环境中安装库时修复未找到入口点
- javascript - 如何在没有任何用户的情况下从 Azure AD 应用程序中使用 SPFX 中的 client_id 和 client_secret 或使用 JavaScript 的 Sharepoint Page 读取访问令牌?
- python - 如何以安全的方式获取日期?
- pyspark - 从 parquet 文件创建 pyspark 数据框
- python - Buildozer 如何解决“--ndk-api=21”错误
- azure - 为每个逻辑分区缩放 Azure Functions 的 CosmosDB 绑定
- r - 订购 selectInput 选项
- python - ModuleNotFoundError:没有带有 pip 的名为“rosbag”的模块
- azure - 如何使用 Azure .NET Fluent SDK 获取 Azure App Service TLS 配置信息?
- python - 如何创建特定格式的项目字典?