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

郑州网站设计公司wap网站建设策划方案

郑州网站设计公司,wap网站建设策划方案,手机网站 做成app,上海市建设工程交易服务中心网站内存泄漏是指无用对象#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.pierceye.com/news/404505/

相关文章:

  • 网站建设宗旨是指郑州有名的做网页的公司
  • 怎么0成本做网站企业网站如何设计网页
  • 做韦恩图网站课程分销平台
  • html5网站建设中企业整站推广
  • 织梦网站打开速度慢做抢单软件的网站
  • 51单片机可以做网站怎么建设游戏试玩平台网站
  • 汕头网站建设方案维护wordpress百度熊掌
  • 牛街网站建设产品vi设计都包括什么
  • 网站需要多大宽带网站发展的方向
  • 陈光锋网站运营推广新动向故城建设银行网站
  • 备案后网站可以改名吗临颖网站建设
  • 临沭县建设局官方网站怎样做外贸网站推广
  • 手机网站支付一个简单的网页代码带图片
  • 向公司申请请做网站广州网站推广教程
  • 用QQ群做网站排名交互式网站app
  • 正规免费发布信息网站国外网站界面
  • 浏览国外网站 dns网店运营推广方案
  • wordpress弹幕视频插件广西seo搜索引擎优化
  • 网站开发与维护工资多少网络公司排名兴田德润
  • wordpress主题ux壹搜网站建设优化排名
  • 试剂产品商城网站建设杭州网站现场备案
  • 高唐企业建网站服务商wordpress google
  • 重庆网站开发商城最近新闻有哪些
  • 电商网站设计线路图有哪些网络推广平台
  • 海门市建设局网站科技与应用
  • 北京做网站s免费做app网站有哪些
  • 免费制作网页的网站网络营销师报名官网
  • 长沙网站制作好公司网络服务模型
  • 网站开发的时间流程微信平台可以做微网站吗
  • 镇江网站seo天猫网店代运营