avatar
Android memory leak# Programming - 葵花宝典
i*s
1
【 以下文字转载自 Animals 讨论区 】
发信人: iForpus (coelestis), 信区: Animals
标 题: 英国一农场主种六千棵橡树纪念妻子 树林成心型
发信站: BBS 未名空间站 (Mon Jul 16 16:23:43 2012, 美东)
英国南格洛斯特郡的农场主,70岁的温斯顿·豪斯与儿子一起在自家农场种下了六
千棵橡树,以纪念15年前因心脏病发去世的妻子。树林的中间是一颗“心”,“心”尖
指向妻子曾经生活过的地方,以此来表达对亡妻珍妮特的思念之情。这颗巨大的“心”
近日被热气球乘坐者发现后才得以呈现在世人面前。现在,只要在谷歌卫星地图中输入
坐标51°36'26.20"N 2°23'11.90"W就可看到。
avatar
KV
2
值得去电影院里看么?还是等碟子出来?
MI4应该值得在电影院里花点时间看看吧?
avatar
y*n
3
【 以下文字转载自 Music 讨论区 】
发信人: yangjin (洋金), 信区: Music
标 题: 妈妈 - 翻唱
发信站: BBS 未名空间站 (Sun May 8 10:23:20 2011, 美东)
适合今天的歌,不过伴奏是消音的,凑合着听吧
妈 妈
作词:kiki 牛奶咖啡
作曲:Laurent Voulzy
原唱:尚雯婕
还来不及 回头看你
你已经 不再美丽
忽然 老了去
总是忘记 说一句 我爱你
亲爱的 妈妈
你离开 我才明白 爱的意义
我的妈妈 我永远都是 你的孩子
妈妈 在长大以后
每当我迷失自己
妈妈 我好想牵你的手
一起回家 像小时候
还来不及 回头看你
你已经 白了头发
忽然 老了去
总是忘记 说一句 我爱你
亲爱的 妈妈
我学会独自品尝 生活 的苦
我的妈妈 我已经 足够坚强
请你 放心
人 为了梦想 不得不 拼命奔跑
妈妈 我好想在你怀抱
静静睡去 像 小时候
还来不及 说我爱你
我已经 不再年轻
忽然 老了去
小心整理 关于你的回忆
我无法忘记
我的妈妈 听见了吗
现在 你的孩子为你唱首歌
放在心里的话 轻轻说起
妈妈 谢谢你
avatar
s*k
4
大牛来讲讲,android里面memory leak一般都是什么导致的?
avatar
c*p
5
赞有心人!
avatar
l*1
6
还行,跟第一部水准没差太多。

【在 KV 的大作中提到】
: 值得去电影院里看么?还是等碟子出来?
: MI4应该值得在电影院里花点时间看看吧?

avatar
j*n
7
原曲也是唱妈妈的?
还是改编的词?

【在 y*****n 的大作中提到】
: 【 以下文字转载自 Music 讨论区 】
: 发信人: yangjin (洋金), 信区: Music
: 标 题: 妈妈 - 翻唱
: 发信站: BBS 未名空间站 (Sun May 8 10:23:20 2011, 美东)
: 适合今天的歌,不过伴奏是消音的,凑合着听吧
: 妈 妈
: 作词:kiki 牛奶咖啡
: 作曲:Laurent Voulzy
: 原唱:尚雯婕
: 还来不及 回头看你

avatar
f*t
8
Stackoverflow上肯定有详尽的解答
avatar
i*e
9
呜呜呜, 还好俺不是他邻居,橡树花粉严重过敏
avatar
w*n
10
等碟吧 一般
Mi4 看IMAX 还行
★ Sent from iPhone App: iReader Mitbbs Lite 7.28
avatar
y*n
11
原曲:
Laurent Voulzy
Belle Ile en Mer - Marie Galante
Lyrics:
Belle-Ile-en-Mer
Marie-Galante
Saint-Vincent
Loin Singapour
Seymour Ceylan
Vous c'est l'eau c'est l'eau
Qui vous sépare
Et vous laisse à part
Moi des souvenirs d'enfance
En France
Violence
Manque d'indulgence
Par les différences que j'ai
Café
Léger
Au lait mélangé
Séparé petit enfant
Tout comme vous
{Chœurs:}
Je connais ce sentiment
De solitude et d'isolement
{Refrain}
Comme laissé tout seul en mer
Corsaire
Sur terre
Un peu solitaire
L'amour je 1' voyais passer
Ohé Ohé
Je 1' voyais passer
Séparé petit enfant
Tout comme vous
Je connais ce sentiment
De solitude et d'isolement
{Refrain}
Karudea
Calédonie
Ouessant
Vierges des mers
Toutes seules
Tout 1' temps
Vous c'est l'eau c'est l'eau
Qui vous sépare
Et vous laisse à part
Oh oh...

【在 j******n 的大作中提到】
: 原曲也是唱妈妈的?
: 还是改编的词?

avatar
z*e
12
十有八九是引用没有释放
avatar
h*s
13
赞,如果能活着看到就完美喽。
avatar
a*e
14
个人觉得MI4普遍评价会更好
不过我很喜欢福尔摩斯的主演
avatar
p*e
15
赞美

【在 y*****n 的大作中提到】
: 【 以下文字转载自 Music 讨论区 】
: 发信人: yangjin (洋金), 信区: Music
: 标 题: 妈妈 - 翻唱
: 发信站: BBS 未名空间站 (Sun May 8 10:23:20 2011, 美东)
: 适合今天的歌,不过伴奏是消音的,凑合着听吧
: 妈 妈
: 作词:kiki 牛奶咖啡
: 作曲:Laurent Voulzy
: 原唱:尚雯婕
: 还来不及 回头看你

avatar
k*e
16
非大牛,做安卓多年时常遇到这个烂问题,MEMORY LEAK其实大多是MEMORY NOT
RELEASE SOON ENOUGH,就是留了太多暂时没用的东西在MEMORY里,比如说你用VIEW
PAGER,用FragmentPagerAdapter的话所有的Fragment都不释放,要是用
FragmentStatePagerAdapter那就可以用setOffscreenPageLimit选留几个Fragment。还
有一个常LEAK的就是IMAGE,要是不小心就放一堆BITMAP不RELEASE,立马死菜,最好就
是老实用现成的轮子,比如说PICASSO。出问题就老实地用工具查吧,总能找到症结的。

【在 s********k 的大作中提到】
: 大牛来讲讲,android里面memory leak一般都是什么导致的?
avatar
k*e
17
哦,忘记了还有这个很早以前安卓TEAM就一直在喊的不要LEAK CONTEXT,
http://android-developers.blogspot.com/2009/01/avoiding-memory-
这个算是官方的“小心注意事项“。

的。

【在 k******e 的大作中提到】
: 非大牛,做安卓多年时常遇到这个烂问题,MEMORY LEAK其实大多是MEMORY NOT
: RELEASE SOON ENOUGH,就是留了太多暂时没用的东西在MEMORY里,比如说你用VIEW
: PAGER,用FragmentPagerAdapter的话所有的Fragment都不释放,要是用
: FragmentStatePagerAdapter那就可以用setOffscreenPageLimit选留几个Fragment。还
: 有一个常LEAK的就是IMAGE,要是不小心就放一堆BITMAP不RELEASE,立马死菜,最好就
: 是老实用现成的轮子,比如说PICASSO。出问题就老实地用工具查吧,总能找到症结的。

avatar
s*k
18
多谢各位大牛,引用一般大家都做成strong?还是softreference?
avatar
s*k
19
我的意思一般什么用strong reference,就是那些singleton?哪些适合用
softreference?

【在 s********k 的大作中提到】
: 多谢各位大牛,引用一般大家都做成strong?还是softreference?
avatar
k*e
20
很少需要用到softreference, weakrefernce or phantomreference,一般是在你需要
cache一堆东西,比如说图片,的时候会要用到。但是强烈建议不要自己重写image
cache一类的东西,用Picasso或者Fresco什么的比较成熟的东西。有时候有人也喜欢用
weak reference去包装一个context object,比如说activity什么的以避免前面说的“
小心leak context”的问题。
但是很多时候这都是可以用别的办法达成,比如说那个weak reference wrap activity
,一般都是用async task的时候在task完成后的callback里要update UI,用这个避免
activity在async task没完成前就被释放了。但是这种做法是比较老式的做法,现在很
多新的pattern都会用个service(一般用intent service)去完成放在async task里的
任务,完成后可以用local broadcast manager发布个公告,在activity里面register
listener去收听,用这样的机制虽然好像复杂了很多,但是更加合理。
还有就是memory usage,只要你合理地用了persistence layer(一般就用sqlite+
content provider, or you can try realm.io or CouchBase Mobile),那你就不会占
用过多的内存,也就不太会出现out of memory的问题了。你看那个Cursor,都有个1MB
limit,就是很好的对内存用量的控制,让你不会过多地不必要地耗费内存。总之就是
只把你需要的东西给LOAD到内存里,不要的就及时释放(合理地利用CursorLoader,
CursorAdapter这一类的HELPER,他们都有帮助你自动释放不需要的那部分内存的功能
)。

【在 s********k 的大作中提到】
: 我的意思一般什么用strong reference,就是那些singleton?哪些适合用
: softreference?

avatar
s*k
21
多谢,但是我看android官方文档强烈不建议用softreference做cache啊。

activity
register

【在 k******e 的大作中提到】
: 很少需要用到softreference, weakrefernce or phantomreference,一般是在你需要
: cache一堆东西,比如说图片,的时候会要用到。但是强烈建议不要自己重写image
: cache一类的东西,用Picasso或者Fresco什么的比较成熟的东西。有时候有人也喜欢用
: weak reference去包装一个context object,比如说activity什么的以避免前面说的“
: 小心leak context”的问题。
: 但是很多时候这都是可以用别的办法达成,比如说那个weak reference wrap activity
: ,一般都是用async task的时候在task完成后的callback里要update UI,用这个避免
: activity在async task没完成前就被释放了。但是这种做法是比较老式的做法,现在很
: 多新的pattern都会用个service(一般用intent service)去完成放在async task里的
: 任务,完成后可以用local broadcast manager发布个公告,在activity里面register

avatar
k*e
22
没错,就是因为很多人用SOFT REFERENCE等做CACHING TO AVOID MEMORY LEAK,所以别
人专门说别这样。所以说用PICASSO什么的处理图片CACHE(里面也就一类似LRUCACHE的
东西,不过除了MEMORY CACHE还有PERSISTENCE LAYER CACHE),其他什么的CACHE就像
文档说的用LRUCACHE什么的。
一般应该很少用到SOFTREFERENCE和WEAKREFERNCE等。

【在 s********k 的大作中提到】
: 多谢,但是我看android官方文档强烈不建议用softreference做cache啊。
:
: activity
: register

avatar
l*n
23
多线程吧。

【在 s********k 的大作中提到】
: 大牛来讲讲,android里面memory leak一般都是什么导致的?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。