AndroidDev 板


LINE

※ [本文转录自 Android 看板 #1GM9LQSS ] 作者: roden (Roden) 看板: Android 标题: [开发] 在不同版本的androidAPP相同性问题 时间: Tue Sep 18 23:38:00 2012 Hi 板上的各位好。 想请问一下, 小弟写了一个Android的app, 功能是介面上有个按钮, 按钮被按下後,会startActivityForResult 执行zxing(Google的barcode reader)扫瞄条码, 扫描後,我的app里撰写了onActivityResult去接收和处理扫描到的档案。 此APP在Desire(A8181) Android v2.2.2上执行良好。 不曾发生过错误, 但如果安装到 Android 2.3 或 4.0.4版本的手机上。 就发生错误。 这错误发生时机是: 每当ZXING扫描完条码後, 回到APP的视窗,就跑出APP强制关闭的画面。 错误是: java.lang.RuntimeException: Unable to resume activity 版本差异导致此问题? 因为本人有将class里的member变数印出来。 在呼叫startActivity之前,member变数是有资料。 但是在onActivityResult时,却memeber变数变成null。 是否Activity被destory? 这问题困扰小弟许久,起初还以为是手机是杂牌的问题。 可以请问板上各位先进,小弟哪边需要做改进才能让APP相容於较新的版本? 资讯若不足,再请告知我一下。 以下是将按钮加上Listener的片段及startActivityForResult的方法, 已去除不相关的程式码。 希望能有先进提供解决的方法或一起讨论。 谢谢各位 以下为程式码。 http://pastebin.com/6HfZQUx8 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 106.65.41.232
1F:→ bestpika:左转 AndroidDev 09/18 23:42



※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: roden (106.65.41.232), 时间: 09/18/2012 23:48:54
2F:→ cooper6334:需要的资讯是Crash时LogCat喷的讯息阿 09/19 08:15
3F:→ roden:小弟不才 问题已经解决 稍晚将问题点提供出来 个人错误 09/19 09:45
4F:→ roden:本以为问题已经解决,但还是相同问题。是否有先进可协助? 09/19 12:20
5F:推 cooper6334:LogCat里通常会有一行Caused by:xxxExcaption 09/19 18:56
6F:→ cooper6334:下面是发生的位置,这个才是判断的重点 09/19 18:56
7F:→ Eior:猜是gc把某个物件清掉了 从这个方向找吧 09/19 22:46
8F:推 sdyy:你的CURRENTWEBPAGE是几时赋值阿? 09/19 23:50
CURRENTPAGE是在网页换页後马上赋值。现在发现是parent Activity整个被gc,因为在onActivityResult呼叫前有执行 onCreate。这应该是ram不够导致。但就算是把变数存到SharePreference 里,也许能保存下来。 但是layout中的webview就算recreate後, 他本身的session id 也会有差异。 因为我在旧的Webview中已经有登入的record, 这样我将扫描到的资讯送到网站後, 他会在要求我在登入一次。 有先进有遇过这问题嘛? 希望能够强制把parent activity给保留下来。 或者能提供一些solution给我呢? -------------------------------------------- 2012/09/22 Solved 问题已经解决了。 原本我APP是去呼叫外部的ZXING, 也就是说是我没将ZXING包在自己的APP。 虽然ZXING包不包在自己的APP里, 在使用startActivityForResult都能呼叫成功。 但对於作业系统有一个很大的差异。 在没将ZXING(外部程式)包进APP(Parent APP)的状况下, 由於作业系统会认为你的APP(Parent APP)是去呼叫外部程式, 於是,当APP运行在手机规格差的环境上, 在记忆体不足的状况下, OS会将其他的Activity(包含Parent APP)GC掉。 等到ZXING(外部程式)运行完毕, 再执行parent APP 的 onActivityResult时, 由於OS知道parent APP不存在, 故会去呼叫onCreate将parent APP建立起来, 这样的话,原本的global variable也会化为初始值。 进而导致可能有一些exception发生。 若将ZXING(外部程式)包在APP里, 在记忆体不足的环境下, 作业系统会认为我的APP(Parent APP)和ZXING(外部程式)是同一个程式, 它会优先将其他的ActivityGC掉, 但GC完後,记忆体仍然不足, 作业系统仍将会跳出整个APP。 这样就只能请使用者换手机拉。 若有其他先进有不同的看法或意见,也欢迎一起讨论! ※ 编辑: roden 来自: 39.8.11.82 (09/22 23:57)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP