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

甘肃省建设银行网站上海建设银行官网网站

甘肃省建设银行网站,上海建设银行官网网站,视频app开发制作多少钱,那些网站是专门做一些调研的转自#xff1a;http://www.linuxidc.com/Linux/2011-10/44785.htm 因为Android使用Java作为开发语言#xff0c;很多人在使用会不注意内存的问题。 于是有时遇到程序运行时不断消耗内存#xff0c;最终导致OutOfMemery#xff0c;程序异常退出#xff0c;这就是内存泄露导…转自http://www.linuxidc.com/Linux/2011-10/44785.htm 因为Android使用Java作为开发语言很多人在使用会不注意内存的问题。 于是有时遇到程序运行时不断消耗内存最终导致OutOfMemery程序异常退出这就是内存泄露导致的。 我们现在就来总结一下可能导致内存泄露的情况 查询数据库而没有关闭Cursor 在Android中Cursor是很常用的一个对象但在写代码是经常会有人忘记调用close, 或者因为代码逻辑问题状况导致close未被调用。  通常在Activity中我们可以调用startManagingCursor或直接使用managedQuery让Activity自动管理Cursor对象。但需要注意的是当Activity介绍后Cursor将不再可用若操作Cursor的代码和UI不同步如后台线程那没需要先判断Activity是否已经结束或者在调用OnDestroy前先等待后台线程结束。除此之外以下也是比较常见的Cursor不会被关闭的情况   try {      Cursor c  queryCursor();      int a  c.getInt(1);      ......      c.close();  } catch (Exception e) {  }   虽然表面看起来Cursor.close()已经被调用但若出现异常将会跳过close()从而导致内存泄露。 所以我们的代码应该以如下的方式编写 Cursor c  queryCursor();  try {          int a  c.getInt(1);      ......  } catch (Exception e) {  } finally {      c.close(); //在finally中调用close(), 保证其一定会被调用   }     调用registerReceiver后未调用unregisterReceiver(). 在调用registerReceiver后若未调用unregisterReceiver其所占的内存是相当大的。而我们经常可以看到类似于如下的代码 registerReceiver(new BroadcastReceiver() {      ...  }, filter); ...   这是个很严重的错误因为它会导致BroadcastReceiver不会被unregister而导致内存泄露。  未关闭InputStream/OutputStream 在使用文件或者访问网络资源时使用了InputStream/OutputStream也会导致内存泄露 Bitmap使用后未调用recycle() 根据SDK的描述调用recycle并不是必须的。但在实际使用时Bitmap占用的内存是很大的所以当我们不再使用时尽量调用recycle()以释放资源。   Context泄露   这是一个很隐晦的内存泄露的情况。先让我们看一下以下代码 private static Drawable sBackground;    Override  protected void onCreate(Bundle state) {    super.onCreate(state);        TextView label  new TextView(this);    label.setText(Leaks are bad);        if (sBackground  null) {      sBackground  getDrawable(R.drawable.large_bitmap);    }    label.setBackgroundDrawable(sBackground);        setContentView(label);  }   在这段代码中我们使用了一个static的Drawable对象。这通常发生在我们需要经常调用一个Drawable而其加载又比较耗时不希望每次加载Activity都去创建这个Drawable的情况。此时使用static无疑是最快的代码编写方式但是其也非常的糟糕。当一个Drawable被附加到View时这个View会被设置为这个Drawable的callback (通过调用Drawable.setCallback()实现)。这就意味着这个Drawable拥有一个TextView的引用而TextView又拥有一个Activity的引用。这就会导致Activity在销毁后内存不会被释放。 转载于:https://www.cnblogs.com/wliangde/p/3712619.html
http://www.sadfv.cn/news/32174/

相关文章:

  • 做网站拉客户有效吗大连微信网站
  • 广元园区建设投资有限公司网站校园二手信息网站建设
  • 四川建设厅证网站是网站建设服务费的摊销期限
  • 怎么查一个网站的备案信息百度推广平台首页
  • 如何建设网站导航内链接北京企业名录一览表
  • 求制作网站株洲网站建设制作
  • 网站vr用什么做女生适合学什么专业
  • 网站做推广百度好还是360好武陟县住房和城乡建设局网站
  • 建设银行网站点不进去了怎么办淘宝客 网站 备案
  • 梅州市城乡建设部网站首页番禺网站建设效果
  • 网站网站地图怎么做一级a做爰片免网站
  • 做网站最多的行业湖南医院响应式网站建设企业
  • 理县网站建设云安区市场网络营销方法
  • 质量好网站建设加工注册公司网站如何注册
  • 如何设计一个网页网站设计效果专业乐云seo
  • 产品宣传型企业网站怎么建设招远网站建设哪家专业
  • 一 网站开发背景广西建设厅培训中心官网
  • 网站开发应用价值建设城市2的游戏在哪个网站
  • 2018一级a做爰片免费网站价格低用什么词形容
  • 网站制作公司如何运作网站的承诺
  • 安平有做农产品的网站被插件 wordpress
  • 网站搜索引擎优化技术公网ip做网站访问不
  • 潍坊网站的优化品牌建设理论包括哪些内容
  • 做网站的感觉网站建设需要哪些企业资料
  • 网站建设重点是什么外贸商城网站开发书
  • 如何撤销网站上信息万脑网站建设
  • 深圳哪里有可以做网站跳转的公司wordpress d9
  • 哈尔滨住房城乡建设局网站可画在线设计网站
  • 南桥网站建设网页设计师作品集
  • 石家庄网站设计工作室网上如何推广自己的产品