Skip to content

Commit

Permalink
优化代码
Browse files Browse the repository at this point in the history
  • Loading branch information
yangchong211 committed Mar 6, 2019
1 parent d78cf8a commit 262ac71
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package com.ns.yc.lifehelper.ui.home.view.fragment;

import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
Expand All @@ -32,6 +30,7 @@
import com.ycbjie.library.base.mvp.BaseFragment;
import com.ycbjie.library.constant.Constant;
import com.ycbjie.library.model.HomeBlogEntity;
import com.ycbjie.library.utils.handler.HandlerUtils;
import com.ycbjie.library.web.view.WebViewActivity;

import org.yczbj.ycrefreshviewlib.YCRefreshView;
Expand Down Expand Up @@ -66,11 +65,11 @@ public class HomeFragment extends BaseFragment<HomeFragmentPresenter> implements
private View headerView;
private CardViewLayout cardViewLayout;

@SuppressLint("HandlerLeak")
private Handler handler = new Handler(){

private HandlerUtils.HandlerReference handler = new HandlerUtils.HandlerReference(
this, new HandlerUtils.HandlerReference.OnReceiveMessageListener() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
public void handlerMessage(Message msg) {
switch (msg.what){
case 1:
if (cardViewLayout!=null){
Expand All @@ -87,8 +86,7 @@ public void handleMessage(Message msg) {
break;
}
}
};

});

@Override
public void onAttach(Context context) {
Expand Down Expand Up @@ -124,10 +122,10 @@ public void onResume() {
@Override
public void onDestroy() {
super.onDestroy();
if(handler!=null){
/*if(handler!=null){
handler.removeCallbacksAndMessages(null);
handler = null;
}
}*/
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ public class MainActivity extends BaseActivity<MainPresenter> implements View.On
/**
* 定时任务工具类
*/
public Timer timer = new Timer();
public Timer timer;
private boolean isTimerRunning = false;

@SuppressLint("HandlerLeak")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ycbjie.library.utils;
package com.ycbjie.library.utils.handler;

import android.os.Handler;
import android.os.Message;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.ycbjie.library.utils.handler;

import android.os.Handler;
import android.os.Message;

import java.lang.ref.WeakReference;

/**
* <pre>
* @author yangchong
* blog : https://github.com/yangchong211
* time : 2016/03/22
* desc : Handler
* revise: 弱引用–>随时可能会被垃圾回收器回收,不一定要等到虚拟机内存不足时才强制回收。
* </pre>
*/
public class HandlerUtils {

private HandlerUtils() {
throw new UnsupportedOperationException("不能直接创建");
}

public static class HandlerReference extends Handler {

private final WeakReference<Object> mObject;
private OnReceiveMessageListener mListener;


public HandlerReference(Object object, OnReceiveMessageListener listener) {
this.mObject = new WeakReference<>(object);
this.mListener = listener;
}

@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Object object = mObject.get();
if (object != null && mListener!=null){
//处理逻辑
mListener.handlerMessage(msg);
}
}

/**
* 收到消息回调接口
*/
public interface OnReceiveMessageListener {
/**
* 消息处理
* @param msg msg
*/
void handlerMessage(Message msg);
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import android.widget.TextView;

import com.pedaily.yc.ycdialoglib.dialogFragment.BaseDialogFragment;
import com.ycbjie.library.utils.HandlerHolder;
import com.ycbjie.library.utils.handler.HandlerHolder;
import com.ycbjie.music.R;


Expand Down

0 comments on commit 262ac71

Please sign in to comment.