【发布时间】:2013-12-23 17:33:04
【问题描述】:
每当我从/向 MainActivity 按下返回时,我都会收到此错误消息。该应用程序不会崩溃,但此消息将显示在 logcat 中。我已经搜索过这个问题,但大多数都与解除对话有关。但我的情况是 MainActivity 上没有显示对话框。
12-06 18:18:24.799 13422-13422/com.zq.x E/WindowManager﹕ android.view.WindowLeaked: Activity com.zq.x.MainActivity has leaked window android.widget.RelativeLayout{42e869e0 I.E..... ......ID 0,0-768,96} that was originally added here
at android.view.ViewRootImpl.<init>(ViewRootImpl.java:348)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher.addHeaderViewToActivity(PullToRefreshAttacher.java:616)
at uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher$1.run(PullToRefreshAttacher.java:127)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
activity_main.xml
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" />
MainActivity.java
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
actionBar.addTab(
actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
session = new SessionManager(getApplicationContext());
nearbyUsers = new ArrayList<User>();
if(!session.isValidated()){
session.loginUser();
finish();
}else{
Log.d("MainActivity","Logged in as ["+session.getUserDetails().get(SessionManager.KEY_USR_EMAIL)+"]");
gps = new GPSTracker(getApplicationContext());
if(gps.canGetLocation()){
gps.addListener(this);
if(!gps.isNetworkEnabled() && gps.isGPSEnabled() && mUpdateLocTask == null){
this.locationUpdated();
}
}
}
}
...
【问题讨论】:
-
请在
onCreate()方法中发布您的Activity 使用的XML 布局 -
请也粘贴您的代码...
-
@NitroNbg 我在这里添加了代码和xml。
-
你用过Relative Layout吗???
-
@PiyushGupta,我在 MainActivity.xml 和附加到此活动的其他片段 xml 中找不到 RelativeLayout。在其他片段中,我使用 LinearLayout 和 PullToRefreshLayout(可能是这个?)。
标签: android android-activity window memory-leaks