android 需要长时间运行的app是不是要把关键的操作放到service里?

最近需要写一个需要长时间运行的app,要求是要一直读取串口中的数据。很可能一运行就是几天。
这样的话是不是要把读取数据之类的操作放到service里?还是直接放到activity里?因为我不知道activity会不会莫名其妙的被finish掉。。

3个回答

  1. 首先你要先了解开启服务的方式,每种方式的用途
  2. 如果你想提高你要的功能的优先级,就把该功能在service调用即可

"最近需要写一个需要长时间运行的app" 是指进程杀不死吗? 进程保活吗?

MacaoPark
Xia_焱 回复下课睡觉: 如果让app一直运行,而不刻意的杀死(内存够用的情况下),app不会被杀死
2 年多之前 回复
qq_35071078
下课睡觉 是这样的,我要做一个应用,要一直通过串口读取相应的数据,可能一运行就是几天。如果我只用activity的话,一直运行这个app,app会被杀死吗?
2 年多之前 回复

如果是activity肯定会死的,还会出现程序无响应,最好是把APP做成后台应用,加服务可以

qq_35071078
下课睡觉 肯定会死是什么意思?就是说,加入我没有内存泄漏,屏幕一直亮着,一直运行这个activity,过一段时间activity就会死亡吗?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
【Service】Service长时间前台运行
下图是android官方文档的资料,翻译一下,便于更好的理解。 前台Service是一直活跃的,所以系统不能因为内存不足而杀死它。而且它必须在status bar 创建一个Notification。 这个通知将一直存在直到前台Service停止或者移除出前台。 因为用户需要,一个Music Player 的播放音乐的Service必须放在前台。这个Notification 可以显示正在播放的
长时间运行app,产生anr
       app需要实时的更新当前的地址位置信息,在位置监听中进行显示出来,包括经纬的转换,距离目标,在测试几个小时内没有问题,但是在12个小时以上就出现了界面点击无响应。解决办法      调试发现监听中耗时10ms+,在界面更新的范围内,但在长时间却出现anr,说明还是耗时太长,更新频率有问题。解决方法:      1.在位置发现改变时才更新UI      2.经纬度的转换等计算的任务,放...
Android实现app长时间未操作时自动退出app
这里要考虑3个问题,第一个是锁屏问题,第二个是app被切换至后台的问题,第三个是屏幕锁定和解除时app在后台时的问题 一,监听屏幕解锁,锁定 public class ScreenObserver { private static String TAG = "ScreenObserver"; private Context mContext; private ...
为什么要把 JavaScript 放到服务器端上运行?
因为在当年,Node.js的作者Ryan Dahl是一名资深的C/C++程序员,在创造出Node之前,他的主要工作都是围绕高性能Web服务器进行的。经历过一些尝试和失败之后,他找到了设计高性能,Web服务器的几个要点:事件驱动、非阻塞I/O。 所以Ryan Dahl最初的目标是写一个基于事件驱动、非阻塞I/O的Web服务器,以达到更高的性能,提供Apache等服务器之外的选择。他提到,大多数人不设
GCD 保持iOS app后台长时间运行
GCD的另一个用处是可以让程序在后台较长久的运行。在没有使用GCD时,当app被按home键退出后,app仅有最多5秒钟的时候做一些保存或清理资源的工作。但是在使用GCD后,app最多有10分钟的时间在后台长久运行。这个时间可以用来做清理本地缓存,发送统计数据等工作。让程序在后台长久运行的示例代码如下:// AppDelegate.h文件 @property (assign, nonatomic)
android实现app启动另一个app的service
android实现app启动另一个app的service首先我们先创建两个Android工程,active以及passiveactive app负责使用intent启动 passive app的service1.active app代码如下:public class MainActivity extends AppCompatActivity { Button button; @Ov
Android启动另一个App的Service
最近从 AppA 启动 AppB 的一个 service ,报了这个错误Not allowed to start service Intent 解决方案: 1.AppB中Service的配置 <service android:name=".MyService" android:exported="true" android:permis...
Android操作系统移植及关键技术研究
暨南大学Android移植相关的硕士论文 开发板samsung S3C2440 学习 Android的好资料
java程序放到服务器里运行
各位好,我用myeclipse编写了一个小程序,现在想放到服务器里(windows server2008r2)供局域网里的用户使用,数据库是sqlserver,请问如何设置?
Android在Service里的播放器
Android在Service里的播放器,http://blog.csdn.net/feifei454498130/article/details/9306631
第三方app开启自己app需要的操作
第三方app: open = (Button) findViewById(R.id.button); open.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { JSONObject json = new JSONObject(
android停止运行app
adb shell     1. ps | grep 进程名 2.kill 进程编号 或者 am force-stop 包名   启动app adb shell am start -n 包名/类名
ASP.NET 生成静态网页操作如何长时间运行?
我写了一个 ASP.NET 生成静态页面的操作,因为数据量有十几G,生成的静态网页可能有上百万,所以预计要运行超过一星期,但是每次运行超过3个小时就自动断掉了,有什么办法让它长时间运行吗?rnrn在数据库读取方面,因为数据都是只读取无其他操作的,所以我写成每次读取数据后就断开连接。rn我采用多线程来执行相应的生成静态页面的方法,通过Session来监控线程执行状态,在用户前台用ASP.NET 2.0的回调来显示Session信息。rn程序是ASP.NET 2.0 C#的。rn
Android判断app是不是第一次启动
判断APP是不是第一次启动基本思路就是,在第一次启动APP的时候,在本地保存一个布尔数据进行记录。如果是第一次启动保存为true,然后进行判断,如果是true,则提示是第一次启动并且修改为false。如果是false,则提示不是第一次启动。代码如下:MainActivity.javapackage f3.nsu.com.firststart; import android.content.Sha...
Android APP启动关键流程分析
前言本文简要分析一下Android APP启动关键流程,APP从被点击到启动中间流程很多,可以参考老罗的《Android应用程序启动过程源代码分析》。
Android Service系列(十四)运行前台service
A foreground service is a service that the user is actively aware of and isn't a candidate for the system to kill when low on memory. A foreground service must provide a notification for the status ba...
Android程序长时间运行就会退出,求助!!
最近在做Android关于电视机顶盒的开发,写了一个助手程序,主要功能就是获取服务器的数据,解析,然后按照获取的数据去定时调台。我用的是HDP官方的API,在里面直接调用接口就能开启HDP直播,但是现在出现的问题就是我把程序开启一段时间,运行很正常,但是最多坚持一天左右就会挂掉,然后就停在最后一次调台的界面,我的程序没了。我用的Service做的网络请求的操作,后来在网上查了好多资料,做了改进,还是会出现那种情况,奇怪的是我把程序放在4个机顶盒上运行,执行任务多的会崩溃,执行任务少的就没事,一直正常,实在搞不懂什么原因。rn 目前我做的改进有:1.将Service设置成前台进程,提高优先级;rn 2.给Service单独开辟进程,在配置文件里面设置了:progress属性rn 3.用AlarmManger做了一个心跳包,定时去检查我的服务是否还在运行,如果挂了就重新启动;rn 4.OnStartcommand()返回值设置成了START_REDELIVER_INTENT;rn 求给点意见,万分感谢!!
android长时间不操作,定时播放视频
APP长时间不操作时,自动跳转到视频播放页面,并循环播放视频的demo
Android判断Service是否运行
/**         * 用来判断服务是否运行.         * @param context         * @param className 判断的服务名字         * @return true 在运行 false 不在运行         */        public static boolean isServiceRunning(C...
Android判断service是否在运行!
Android 中判断某一指定的服务是否有在运行中,这里使用ActivityManager实例来检索正在运行的任务实例,获取其组件名称,然后通过与指定service的组件名称进行比对。。。 代码如下: /** * @params componentName 查询指定service的组件名; * e.g. com.hr.life.trnfa.service.serv
Android 检测正在运行的service
public static boolean isServiceRunning(Context context) { ActivityManager manager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo servic
ios后台长时间运行
http://blog.csdn.net/chowpan/article/details/22417247
javascript长时间运行的问题!
我有一个网页在提交前要运行很长时间的javascript代码,rn导致IE 一段时间没有响应!rn怎么解决呢?rn
打包后是不是只要把这些dll文件放在安装目录下面就可以了?需要放到system32下吗?
在vb工程里有这么两句申明语句,在工程的文件夹里有Sock.dll和STROPR.dll,请问是否要把这两个文件放到system32下,我不是很确定。请教各位。rnDeclare Function nWSockSndRcvData Lib "Sock.dll" (ByVal IP As String, ByVal PORT As Integer, ByVal sendBuf As Any, ByVal iSendLen As Integer, ByVal iRecvLen As Integer, ByVal wtime As Integer) As IntegerrnrnDeclare Function nWStrOprStrToHex Lib "STROPR.DLL" (ByVal strTotalStr As String, ByVal strNewStr As String, ByVal intMax As Integer, ByVal intPos As Integer) As Integer
事务处理需要跨页面,是不是一定要把连接和事务放到SESSION中保存?
总感觉放到SESSION里占用资源,不知道有没有更好的办法?
Django里的APP和ORM操作
可以在Dango里设置很多APP,每个APP里不同的views.py可以自设置多个函数。相当于函数的导包 如何创建app:创建一个名为app01的app   在app01里建立函数关系:views.py     ORM:就是python里的mysql,不过是内部翻译成SQL语句去执行   这两个命令可以在pycharm的终端下打印,在修改完数据后点击提交数据库  ...
winform 长时间运行的问题
我做了一个采集程序.rn正常的网速情况下.rn程序主要用到的异步执行rn当运行前半个小时间很还正常.速度也可以,时间一久就,采集就开始慢了.到最后就死了.rn但是程序没有死,还是有反应的.就是没有执行代码的感觉.rnrn不知道各位有没有遇到 这个情况 ,rn代码功能很简单只用到HttpWebRequest这个去获取内容.rnfor(i=0;i<1000;i++)rnrn HttpWebRequest这个去获取内容.rnrn大概的内容就是上面的代码.时间一久就不执行这个功能.界面那些都动了没有卡起.rnrn不知道各位有没有遇到 这个情况 ,
查长时间运行事务
SELECT b.[session_id] ,b.[open_transaction_count] ,b.[total_elapsed_time] ,a.[name] AS 'transaction_name' ,b.[command] ,a.[transaction_begin_time] ,b.[blocki
程序不能长时间运行
串口通讯程序(D7 + access2000),运行后可以运行一段时间(几个小时),然后就会出现exceptionrn对话框,提示raise exception at project address XXXXXX ,还有什么EAccessViolation 什么的。请问是那里出现问题了呢?rn在线等待rn
长时间运行的PHP程序解决方案
描述:有时候,PHP程序会面临AJAX过来的调用,但逻辑处理的运行又比较漫长,如外部调用svn checkout某个项目,那么就会导致几个问题:客户端超时,返回数据集超大,服务器端脚本超时,内存占用巨大等 比较了几个解决方案,以下这个能比较好地解决上述问题,对服务器的调整也不会造成太大影响。 伪daemon程序,原理:主php程序执行,并不等结果完成就直接返回,中断与浏览器连接,但是断开后仍能
JOB长时间运行
我这边数据库里面有一个JOB,时间间隔为5秒,过程执行完大概要十几秒,运行一天后,NEXT DATE 始终停在一起时间点上.是什么原因了,急求!rnrn
长时间运行死机测试
一块ARM板子要连续运行一个星期,测试是否会死机。我的想法是开机后系统自动运行一个程序,在这个程序中每隔一小时读取RTC时间,然后写入一个文件。这样一周后看这个文件就知道系统什么时候死机了。现在的问题有rn1.开机后自动运行的程序读时间保存在一个文件,如a.txt,这个a.txt怎么创建,才使下次开机仍然在rn2。这个隔一个小时用sleep行吗,contab这个组件可以定时任务,但是只在pc linux上才有吧。rn菜鸟初学,如果说的太幼稚了,各位见谅
网页长时间运行出错,
用vb.net写了个网页,rn运行时间一长,就会出错,提示:rnArgumentException:username即不是表news的datacolumn 也不是datarelationrn这可能是什么原因造成的呢?
运行ASP.NET程序必须要把源文件放到根目录下吗?
如何让网站根目录下没有源程序,ASP.NET程序又能运行?rn谢谢!
Android studio 运行APP无法安装需要先install
错误描述: Android studio 运行APP无法安装需要先install ,但是我已经卸载了啊,而且报出的错误说已经给出一个路径已经有了apk包,但是这个路径是另一台电脑上的。 原因: 是因为我在另一个电脑上调试过这个程序,把测试机再连接到这台电脑上调试的时候回出现识别紊乱 解决 android studio中菜单栏,Build 下面的clear project 将工程清理再运行就好啦 ...
判断app是不是只能32bit运行方法
判断app是不是只能32bit运行方法, 1.首先copy一份apk,在把名字后缀apk改成zip 2.用压缩工具打开是否是有两套目录的so库, 如果有且 有armeabi-v8a armeabi-v7a就是同事支持64bit和32bit  如果只有一份armeabi,可以用压缩工具把lib给解压出来,放到linux环境下,执行file XXX.so 可以看到liblocSDK4d.so
Android判断APP是否在运行
判断app是否在运行public static boolean isRunBackground(Context mContext, String appPgName) { boolean isRun = false; try { // 获取activity管理对象 ActivityManager activityMana
在VB中,如何将一个需要长时间等待的操作放到后台去执行?
比如导出一个数据库表,要等上很长时间,虽然有进度条显示,但是一拖动界面,就象死机一样,直到程序执行完毕.
微信app支付android操作
今天,看了一下微信app支付开发文档,发现这个文档太坑了,所有的错误信息全部归类为-1; 这里记录了一下,我的开发过程, 首先要去微信平台,准备好要用的appid,设置好应用的签名,和应用包名(这里设置好了一定要用在开发中应用),这些东西在微信官方都有提示之间操作即可微信开发文档 这里附上我的代码: 在此之前需要导入微信的jar,然后注册微信的appid private IWXAPI api; ...
Android App开发基础篇—四大组件之Service
Android四大组件(二)—Service     前言:应用开发中经常会遇到要求长期持续运行的任务,这些任务即使在程序被切换到后台,或者用户打开另一个应用,也能够保持正常运行。Android开发中通过Service提供了这类解决方案。 一、概念     Service是Android中用于实现程序后台运行,以便执行一些无需用户界面且要求长期运行的任务的解决方案。Service无需用户界面
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法