草庐IT

ios - 防止 iOS 在几分钟后杀死 App

我想防止iOS在几分钟后终止我的应用程序。我已经在SO上阅读了这个线程:PreventiOSfromkillingmyappafter3minutes.它说如果我没有超过3分钟的后台任务,我的应用程序就不会被杀死。有人可以验证这是真的吗?因为我的后台任务运行时间不超过3分钟,即使我的应用程序在此时间后被杀死。我的后台任务是一个更新小部件的计时器。下面是一些代码:self.backgroundTask=UIApplication.shared.beginBackgroundTask{[weakself]inself?.endBackgroundTask()//endBackGroundT

swift - 在前台、后台和杀死(从后台删除)应用程序中检测信标

我正在研究前台、后台和杀死(从后台删除)应用程序中的信标检测。我有kontakt信标。我已经实现了位置管理器委托(delegate)方法,但我无法在前台检测到信标和背景甚至没有调用方法didEnterRegion和didExitRegion。对于解决方案,我将位置管理器委托(delegate)与KTKDevicesManagerDelegate合并。我无法在位置管理器中检测到信标,所以我尝试在位置管理器方法的didRangeBeacons中实现我启动KTKDeviceManagerDelegate的devicesManager.startDevicesDiscovery()那个时候检测

swift - 如何防止 PassthroughSubject 在并发上游 future 完成之前杀死 .sink?

我有一个PassthroughSubject,它发送30个整数后跟一条完成消息。从对象那里收到这些数字后,我产生了一个休眠一秒钟的future,并以输入数字*2完成。我使用.receiveOn来确保future同时运行,但这意味着完成消息也会同时通过链传播并在所有futures完成之前结束sink。任何RxSwift/Combine向导都知道我怎样才能使完成消息的接收因future完成而延迟?这是一个实现所描述行为的Playground:importFoundationimportCombineimportPlaygroundSupport///Settinguptheplaygrou

Swift ARKit 如何完全杀死 ARSession?

我有一个运行ARSession的ARSCNView。您当然可以使用session.pause()暂停session,但这仍然有效,让session继续运行。我已尝试通过将ARSCNView从其superView中删除来解除分配它。ARSCNView确实解除了分配,但ARSession之后仍在运行!!您也不能将nil分配给ARSession。我可以看到ARSessionDelegate的funcsession(_session:ARSession,didUpdateframe:ARFrame)仍在调用!使用完ARKit后,如何彻底删除记录?有可能吗? 最佳答案

android - 如何在不显示通知的情况下 startForeground()?

我想创建一个服务并让它在前台运行。大多数示例代码都有通知。但我不想显示任何通知。那可能吗?你能给我一些例子吗?有没有其他选择?我的应用服务正在播放媒体播放器。如何让系统不杀死我的服务,除了应用程序自己杀死它(比如通过按钮暂停或停止音乐)。 最佳答案 作为Android平台的一项安全功能,您不能在任何情况下,在没有通知的情况下拥有前台服务。这是因为前台服务比后台服务消耗更多的资源并且受到不同的调度限制(即它不会被杀死的速度),并且用户需要知道什么可能在消耗他们的电池。所以,不要这样做。但是,可能会有“假”通知,即,您可以制作一个透明的

android - 如何在不显示通知的情况下 startForeground()?

我想创建一个服务并让它在前台运行。大多数示例代码都有通知。但我不想显示任何通知。那可能吗?你能给我一些例子吗?有没有其他选择?我的应用服务正在播放媒体播放器。如何让系统不杀死我的服务,除了应用程序自己杀死它(比如通过按钮暂停或停止音乐)。 最佳答案 作为Android平台的一项安全功能,您不能在任何情况下,在没有通知的情况下拥有前台服务。这是因为前台服务比后台服务消耗更多的资源并且受到不同的调度限制(即它不会被杀死的速度),并且用户需要知道什么可能在消耗他们的电池。所以,不要这样做。但是,可能会有“假”通知,即,您可以制作一个透明的

iOS 为什么系统在后台使用位置杀死应用程序

我有一个应用程序在前台和后台使用位置更新。使用CoreLocation框架,我已经实现了应用程序,以便每5分钟后将位置更新发送到服务器,使用this代码作为引用。这在前台工作正常,但当应用程序进入后台时,它会在30分钟到一个小时后被操作系统杀死。我希望该应用至少在8小时内获取更新,即使在后台也是如此。此外,该应用程序每小时使用大约10%的电量。这与应用程序在后台被杀死有关吗?如果是这样,那么我该如何解决电池问题?否则,谁能告诉我问题出在哪里?以下是设备的崩溃日志:ExceptionType:00000020ExceptionCodes:0x000000008badf00dExcepti

java - 如何模拟Android GC杀死应用程序

我需要在接下来的情况下测试应用程序的序列化\反序列化:应用程序长时间处于后台(空闲模式)并被GC杀死;应用在后台,由于资源(内存\cp)不足被GC杀死;在某些设备上,可以通过启动1-2个游戏来模拟。但是在具有1GB内存的四核设备上,要玩4-10个重度游戏非常非常困难,而且会花费很多时间。我尝试实现一些模拟资源加载的演示:创建位图数组创建对象数组推出大量服务开展大量Activity但没有结果,应用程序仍然有效(即使在旧设备上),我的演示因OutOfMemoryException而崩溃。如何在演示应用程序中模拟高负载?谢谢! 最佳答案

java - 当静态资源被杀死时,它们是全部被杀死还是会保留在罕见的边缘情况下?

备注:虽然到目前为止(9月6日)提供的两个答案很有趣,但不幸的是它们没有解决这个问题。我的Android测试设备之一是HTCOneX。该设备以经常杀死后台应用程序而闻名(甚至包括启动器,最令人气愤的是),因为它在RAM分配方面往往处于边缘地位,可能是由于HTC膨胀软件。然而,就我的目的而言,这非常有用,因为它有助于突出各种低内存情况的影响,并允许我改进我的应用程序以应对此类事件。例如,我学到的一件事是Application实例和其他static资源可以被杀死,即使Activity后台堆栈被保留。因此,为了提供良好的用户体验,即使运行应用程序的单个进程和所有static它持有,已经消失。

java - 获取进程的 PID 以在不知道其全名的情况下将其杀死

我正在编写一个Android应用程序。现在我将介绍应用程序应该终止进程的部分。但我不知道它的全名或PID。我知道命令:android.os.Process.killProcess(Pid)和android.os.Process.getUidForName("com.android.email")但我的问题是我不知道进程的全名。这是一个native代码进程,所以不像com.something.something进程是/data/data/com.something.something/mybinary但它正在运行类似的命令/data/data/com.something.somethin