【发布时间】:2013-11-27 13:52:05
【问题描述】:
我遇到了由 AudioManager 引起的内存泄漏。所以我在我的代码中注释掉了这一行,看看它是否能解决我的问题:
public class FireRoomActivity extends Activity {
AudioManager am;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
}
}
它确实解决了问题,我不再有内存泄漏。那是因为 Context.AUDIO_SERVICE 吗?如果是,那我该如何替换它?
如果重要的话,我的 Activity 中有这个非静态类,它不会在外面的其他地方使用
class GestureListener extends GestureDetector.SimpleOnGestureListener {
RelativeLayout parentLayout;
public void setLayout(RelativeLayout layout){
parentLayout = layout; }
@Override
public boolean onDown(MotionEvent e) {
return true;
}
// event when double tap occurs
@Override
public boolean onDoubleTap(MotionEvent e) {
makeArrowsVisible();
parentLayout.findViewById(R.id.cabinet_zoomed).setVisibility(View.INVISIBLE);
Button key = (Button)parentLayout.findViewById(R.id.key);
if(key!=null){
key.setVisibility(View.INVISIBLE);}
return true;
}
编辑: 堆转储的屏幕截图
【问题讨论】:
-
发布让你相信你有内存泄漏的实际证据。
标签: android memory-leaks android-audiomanager