当前位置: 首页 > news >正文

网站主服务器地址网站创建人是

网站主服务器地址,网站创建人是,网站设计作业,电子商务网站建设课程内存泄漏是指无用对象#xff08;不再使用的对象#xff09;持续占有内存或无用对象的内存得不到及时释放#xff0c;从而造成内存空间的浪费称为内存泄漏。 平时我们在使用app时#xff0c;少量的内存泄漏我们是发现不了的#xff0c;但是当内存泄漏达到一定数量时…内存泄漏是指无用对象不再使用的对象持续占有内存或无用对象的内存得不到及时释放从而造成内存空间的浪费称为内存泄漏。 平时我们在使用app时少量的内存泄漏我们是发现不了的但是当内存泄漏达到一定数量时可能会引起OOMOut of memory 我们可以借助工具LeakCanary来检测内测泄漏 首先在项目build.gradle中引入LeakCanary库 //https://github.com/square/leakcanary 内存泄漏分析工具debugImplementation 来配置依赖只在开发环境中依赖debugImplementation com.squareup.leakcanary:leakcanary-android:2.12当有内存泄漏时会在通知栏中有通知所以我们可以使用debugImplementation 来配置依赖只在开发环境中依赖这样正式包里不会引用LeakCanary库。 使用LeakCanary 2.0以上版本无需做任何配置引入库后就会自动检测内存泄漏 单例模式导致的内存泄漏 创建一个单例 public class Singleton {private static Singleton sInstance;private Context mContext;private Singleton(Context context) {this.mContext context;}public static Singleton getInstance(Context context) {if (sInstance null) {sInstance new Singleton(context);}return sInstance;}public void test(){mContext.getContentResolver();} }在Activity中执行 public class TestLeakActivity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test_leak);Singleton.getInstance(this).test();} }执行完单例之后看一下leakcanary LeakCanary: 1 APPLICATION LEAKS LeakCanary: ┬─── LeakCanary: │ GC Root: Local variable in native code LeakCanary: │ ... LeakCanary: ├─ com.example.myapplication.Singleton instance LeakCanary: │ Leaking: UNKNOWN LeakCanary: │ Retaining 112915 bytes in 1674 objects LeakCanary: │ mContext instance of com.example.myapplication.TestLeakActivity with mDestroyed true LeakCanary: │ ↓ Singleton.mContext LeakCanary: │ ~~~~~~~~ LeakCanary: ╰→ com.example.myapplication.TestLeakActivity instance LeakCanary: ​ Leaking: YES (ObjectWatcher was watching this because com.example.myapplication.TestLeakActivity received LeakCanary: ​ Activity#onDestroy() callback and Activity#mDestroyed is true) LeakCanary: ​ Retaining 112903 bytes in 1673 objects LeakCanary: ​ key 297d72a4-5e9d-41bf-baba-6856105c73f0 LeakCanary: ​ watchDurationMillis 5176 LeakCanary: ​ retainedDurationMillis 139 LeakCanary: ​ mApplication instance of com.example.myapplication.MyApplication LeakCanary: ​ mBase instance of android.app.ContextImpl, not wrapping known Android context LeakCanary: LeakCanary: 0 LIBRARY LEAKS发现UNKNOW 出现地方为Singleton中的mContext说明当前的mContext可能没有释放掉但是后续又看到YES说明当前确实没有释放掉 解决方案 将context变成ApplicationContext当应用关掉之后会自动回收ApplicationContext private Singleton(Context context) {this.mContext context.getApplicationContext();}
http://www.w-s-a.com/news/253143/

相关文章:

  • 网站域名所有权证明引流推广接单
  • 做网站百度百科孟州网站建设
  • 服务网站建设企业广州模板建站系统
  • 怎么做属于自己的免费网站浏览器游戏网址
  • 上海城乡住房建设厅网站西安网站推广慧创科技
  • 做策划网站推广怎么写简历互联网公司手机网站
  • 怎么做宣传网站网站建设采购项目合同书
  • 网站的空间和域名备案做网站要会写什么
  • wap 网站源码企业网站被转做非法用途
  • 下载网站模板怎么使用做物流网站的公司
  • 网站 商城 app 建设建设银行江苏省行网站
  • 广州网站开发建设西安广告公司联系方式
  • 怎么用腾讯云服务器做网站个人网站开发视频
  • 网站建设技术代码坦洲网站建设公司哪家好
  • 阿里云对象存储做静态网站怎样做网站性能优化
  • 怎样做理财投资网站装修平面图用什么软件简单
  • 建手机wap网站大概多少钱苏州网站设计公司有哪些
  • 网站建设需求文件学校网站建设方案及报价
  • 网站开发一般多少钱wordpress打赏赞插件
  • 做中国o2o网站领导唐山网站制作软件
  • 门户网站简介做网站一天能接多少单
  • 论坛类网站建设遵义网站制作外包
  • vps服务器购买网站小视频做网站怎么赚钱
  • 网站用图片wordpress同步发布
  • 织梦图片自适应网站源码网页美工的设计要点
  • 渝快办官方网站wordpress产品图片怎么改
  • 高端网站特色深圳建网站哪
  • 宝塔搭建网站软文小故事200字
  • 公司网站设计免费虚拟主机网站源码
  • 怎样做好网站用户体验申请网站空间