改为使用getApplicationContext获取wifiManager,避免内存泄露

The WIFI_SERVICE must be looked up on the Application context or memory will leak on devices < Android N. Try changing getSystemService to getApplicationContext().getSystemService
This commit is contained in:
Lihongda 2024-01-04 05:19:01 +08:00
parent 24b01f308b
commit 42086ffee3
9 changed files with 15 additions and 71 deletions

View File

@ -1,13 +0,0 @@
package fm.jiecao.jcvideoplayer_lib;
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}

View File

@ -305,7 +305,7 @@ public class BindCameraActivity extends BaseActivity {
unKnowSsidDialog();
return;
}
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
List<ScanResult> scanResults = wifiManager.getScanResults();
for (ScanResult scanResult : scanResults) {
if (wifiname.equals(scanResult.SSID)) {

View File

@ -592,7 +592,7 @@ public class BindTankActivity extends BaseActivity {
unKnowSsidDialog();
return;
}
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
List<ScanResult> scanResults = wifiManager.getScanResults();
for (ScanResult scanResult : scanResults) {
if (wifiname.equals(scanResult.SSID)) {

View File

@ -615,7 +615,7 @@ public class BindTankPetActivity extends BaseActivity {
unKnowSsidDialog();
return;
}
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
List<ScanResult> scanResults = wifiManager.getScanResults();
for (ScanResult scanResult : scanResults) {
if (wifiname.equals(scanResult.SSID)) {

View File

@ -42,7 +42,7 @@ public class DeviceRestartActivity extends BaseActivity {
findViewById(R.id.bt_setconnect).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (!wifiManager.isWifiEnabled()) {
ToastUtil.show(getApplicationContext(), "请检查WiFi是否开启");

View File

@ -66,7 +66,7 @@ public class HotSpotConnentActivity extends BaseActivity {
public void onClick(View v) {
// device_mac="5ccf7f99e929";
// doPostBindDevice();
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (!wifiManager.isWifiEnabled()) {
ToastUtil.show(getApplicationContext(), "请检查WiFi是否开启");
@ -194,7 +194,7 @@ public class HotSpotConnentActivity extends BaseActivity {
}
public List<ScanResult> getWifiList() {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
List<ScanResult> scanWifiList = wifiManager.getScanResults();
List<ScanResult> wifiList = new ArrayList<>();
if (scanWifiList != null && scanWifiList.size() > 0) {

View File

@ -1,66 +1,23 @@
package com.ifish.activity;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
import androidx.annotation.Nullable;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.ifish.basebean.BaseBean;
import com.ifish.basebean.ConnectMessageEvent;
import com.ifish.basebean.Device;
import com.ifish.baseclass.BaseActivity;
import com.ifish.baseclass.BaseGradeActivity;
import com.ifish.tcp.BackFunctionCode7_11;
import com.ifish.tcp.ModelCodec;
import com.ifish.tcp.OrderDeviceConnectModel;
import com.ifish.tcp.OrderModel;
import com.ifish.utils.AnimationUtil;
import com.ifish.utils.ByteUtil;
import com.ifish.utils.Commons;
import com.ifish.utils.Commons.LoginSPKey;
import com.ifish.utils.Commons.NetWork;
import com.ifish.utils.Commons.Text;
import com.ifish.utils.HttpListener;
import com.ifish.utils.HttpManager;
import com.ifish.utils.L;
import com.ifish.utils.SPUtil;
import com.ifish.utils.ToastUtil;
import com.ifish.utils.WifiAdmin;
import com.ifish.utils.WifiUtil;
import com.ifish.view.WifiDialog;
import com.ifish.wheelview.adapter.ArrayWheelAdapter;
import com.ifish.wheelview.view.WheelView;
import androidx.annotation.Nullable;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.bumptech.glide.Glide;
import com.ifish.basebean.ConnectMessageEvent;
import com.ifish.baseclass.BaseActivity;
import com.ifish.utils.AnimationUtil;
import com.ifish.utils.ToastUtil;
import de.greenrobot.event.EventBus;
@ -105,7 +62,7 @@ public class HotSpotConnentSetWIFIActivity extends BaseActivity {
protected void onResume() {
super.onResume();
if (isjump) {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (!wifiManager.isWifiEnabled()) {
ToastUtil.show(getApplicationContext(), "请检查WiFi是否开启");

View File

@ -602,7 +602,7 @@ public class NewBindDeviceChoiceActivity extends BaseActivity implements View.On
protected void onResume() {
super.onResume();
if (isjump) {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (!wifiManager.isWifiEnabled()) {
ToastUtil.show(getApplicationContext(), "请检查WiFi是否开启");

View File

@ -39,7 +39,7 @@ public class ReStartDeviceUtil {
}
public void startDs() {
WifiManager wifiManager = (WifiManager) act.getSystemService(WIFI_SERVICE);
WifiManager wifiManager = (WifiManager) act.getApplicationContext().getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (!wifiManager.isWifiEnabled()) {
ToastUtil.show(act, "请检查WiFi是否开启");