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

做网站学什么语言所有网站大全

做网站学什么语言,所有网站大全,秦皇岛网站制作源码,江宁网站建设多少钱转自#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.zqtcl.cn/news/217304/

相关文章:

  • 成都 视频网站建设网站邮件推送
  • 深圳均安网站制作温州网站优化案例
  • 做网站需要哪些流程网站建设中项目经理的职责
  • 专业低价建设微网站微商城怎么样在wordpress上添加播放视频
  • 网站制作经费预算表域名备案信息查询系统
  • 苏州网站建设找苏州聚尚网络推荐南昌个人网站制作怎么做
  • 普法网站建设wordpress伪静态404错误
  • 易语言如何做浏网站湛江高端网站开发
  • 窦各庄网站建设wordpress 意见反馈
  • 建站公司还有前途吗海拉尔做网站的公司
  • 素材网站有哪些如何做简单视频网站
  • 如何做网站公证宁波网站建设公司比较好
  • 网站建设公司行情新网站建设风格
  • 30天网站建设实录 pdf微信分销工具
  • 深圳电子商务网站 开发招标文件范本
  • 常州网站制作包括哪些网站商城模板
  • wordpress下拉式菜单哈尔滨seo优化公司
  • 网站添加百度地图标注怎么在百度免费推广
  • 如何用照片做模板下载网站南京做网站seo的
  • 网站建设平台方案设计删除网站内容
  • 建设部人才交流中心网站wordpress theauthor
  • 物联网网站开发公司比较还做的调查网站
  • 网站建设教程 冰美人视频全国网站建设排名
  • 对网站策划的看法公司宣传册设计与制作图片
  • 手机医疗网站网站模板的制作怎么做
  • 那种投票网站里面怎么做百度浏览器网站入口
  • 宁波城乡建设局网站有专门做面包的网站么
  • 网站推广方法及特点网站添加内容
  • c2c网站怎么做网页模板布局
  • 知果果网站谁做的房产信息网显示已签约