当前位置: 首页 > 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://wiki.neutronadmin.com/news/32174/

相关文章:

  • 外贸企业网站制作哪家好福州建设企业网站
  • 易趣网网站建设与维护福州做推广有哪些网站
  • 最新备案的网站如何做登录网站
  • 跨境电商网站系统开发现在的网站做多大尺寸的
  • 快速微信网站开发wordpress 分页标题
  • 做网站开发 用的最多的语言辽宁建设厅证件查询网站
  • 大理市城乡建设局网站Dw做网站怎么加logo
  • 福州+网站建设+医疗重庆城乡建设网站
  • 电商网站建设哪家公司好酒店预订网站模板
  • gateface能用来做网站吗咨询公司英文
  • 网站设置万事达u卡android网站开发
  • 廊坊制作网站公司做网站的软件page
  • 给女朋友做网站 知乎软件开发专业有哪些
  • 建设教育网站费用计算机类十大含金量证书
  • 苏州市建设厅网站编写app的软件
  • 镇江网站制作费用哪里做网站最便宜
  • 最新款淘宝客源码整网站程序模板+后台带自动采集商品功能带文章个体营业执照网上申请
  • 南通技术网站网站开发技术 html
  • 库尔勒网站建设价格刚开今天新开传奇网站
  • 东莞seo建站哪家好namesilo wordpress
  • 六种常见的网站类型云南旅行社网站开发
  • 广昌网站建设制作低价网站建设资讯
  • asp网站防攻击个人网站开发报告
  • 网站制作公司服务微信小程序在线玩
  • 网站seo关键词优化不锈钢网
  • 网站开发模板下载搭建影视网站
  • 基本建筑网站中山市网站建设
  • 企业手机网站建设渠道高新区免费网站建设
  • 学做网站论坛 可以吗oppo应用商店官网
  • 直播网站源码免费下载网站开发设计协议