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

深圳 外贸 网站建设 龙wordpress模板排行榜

深圳 外贸 网站建设 龙,wordpress模板排行榜,网站诊断与优化的作用,制作网站商关于作者#xff1a;CSDN内容合伙人、技术专家#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 #xff0c;擅长java后端、移动开发、人工智能等#xff0c;希望大家多多支持。 目录 一、导读二、概览三、案例分析3.1 使用memory-profiler3.2 使用 cp… 关于作者CSDN内容合伙人、技术专家 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 擅长java后端、移动开发、人工智能等希望大家多多支持。 目录 一、导读二、概览三、案例分析3.1 使用memory-profiler3.2 使用 cpu-profiler 四、 推荐阅读 一、导读 我们继续总结学习Java基础知识温故知新。 二、概览 内存抖动是指内存不稳定频繁分配和回收导致内存不稳定其表现形式为频繁GC 内存抖动可能会导致以下问题 性能下降由于频繁的内存分配和回收操作系统的性能会受到影响导致运行速度变慢。程序崩溃、OOM内存抖动可能导致内存分配错误或者内存泄漏导致程序崩溃或者运行不稳定。系统资源消耗内存抖动会增加系统资源的消耗包括内存和CPU的占用率可能导致系统负载增加。 内存抖动大部分都是由于频繁创建对象导致会占用大量内存同时会产生大量的内存碎片不连续的内存碎片很多情况下是无法被分配的。 从而导致OOM的产生。 要防止内存抖动可以采取以下几个方法和策略 合理规划内存分配在设计和编写代码时要合理规划内存的分配和释放避免频繁的内存分配和回收操作。可以使用对象池、缓冲区等技术来预先分配和管理一块内存减少内存分配的开销。 避免内存碎片内存碎片是指内存中存在一些被分割成小块的未被使用的空间。内存碎片会导致内存分配失败或效率低下。可以通过使用内存池、内存复用等方法来减少内存碎片的产生。另外考虑使用内存管理工具或垃圾回收机制来自动进行内存碎片整理和回收。 优化算法和数据结构一些算法和数据结构可能会导致内存抖动例如频繁的动态数组扩容和收缩操作。可以使用更合适的数据结构或算法降低内存抖动的概率或频率。比如使用链表代替数组使用平衡二叉树代替线性查找等。 设置适当的内存分配策略根据实际情况可以根据内存使用情况和需求设置合适的内存分配策略。可以使用内存池、内存缓存等技术来预先分配和管理内存减少频繁的内存分配与回收操作。 进行内存性能优化对于大型或长时间运行的应用程序可以进行内存性能优化。可以使用内存分析工具和性能分析工具来检测内存使用情况找出内存抖动的原因并针对性地进行优化。 进行定期的内存测试和性能评估定期进行内存测试和性能评估可以发现潜在的内存抖动问题并进行及时修复和优化。 三、案例分析 不同的工具有不同的使用场景对应线下场景我们先用 android studio自带的工具 3.1 使用memory-profiler 可以直观的展示内存使用情况我们先上一段代码来模拟内存申请及释放 public class MainActivity extends AppCompatActivity {// Used to load the example library on application startup.static {System.loadLibrary(example);}private static Handler mHandler new Handler() {Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);// 循环1000次for (int index 0; index 1000; index){// 然后弄一个相对耗内存的操作制造内存抖动String args[] new String[1000000];}mHandler.sendEmptyMessageDelayed(0,50);}};private ActivityMainBinding binding;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);binding ActivityMainBinding.inflate(getLayoutInflater());setContentView(binding.getRoot());// Example of a call to a native methodTextView tv binding.sampleText;tv.setText(stringFromJNI());tv.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {mHandler.sendEmptyMessageDelayed(0,2000);}});}/*** A native method that is implemented by the example native library,* which is packaged with this application.*/public native String stringFromJNI(); }代码运行后我们进行内存的保存快速查看Java 和 Kotlin 分配情况分析 通过上面的图我们可以看到在频繁的gc 那我们怎么才能知道内存抖动真正发生在哪里呢看上图string数组非常多我们点一下这个string数组如下图 上面就出现了一个Call Stack 标签页显示该实例被分配到何处以及在哪个线程中我们可以明显的看到 handlemessage 然后右键选择jump to source之间跳转到源码查看。 Allocations: 此类创建的实例对象数量 Total count对象在堆中未被回收的数量 3.2 使用 cpu-profiler 使用方式跟上面差不错我们保存文件然后查看 跟踪这一段CPU执行的时间 如果发现某一段应用自有函数的调用代码即绿色的条形段在反复地被执行便是内存抖动的地方 四、 推荐阅读 Java 专栏 SQL 专栏 数据结构与算法 Android学习专栏
http://www.pierceye.com/news/11580/

相关文章:

  • 免费自助建站系统平台 贴吧网站设计制作一条龙多少钱
  • 做二维码的网站软件商城安装
  • 怎么快速搭建网站怎样在亚马逊网上开店
  • 超市网站怎么做的网站开发公司上
  • 浙江政务服务网登录入口网站seo推广方案
  • 网站改版建设恒信在线做彩票的是什么样的网站
  • 微商怎么做网站yiqicms主站调用一级目录wordpress博客的文章?
  • 网站排名优化公司推荐企业邮箱号码
  • 企业怎样建网站潍坊网站建设教程
  • 可以把网站服务器放在哪里关于建设二级网站的报告
  • 百度网站建设多钱建设网站租用空间
  • 百度如何建网站dedecms美食网站
  • 展示网站报价方案广西壮族自治区专升本业务系统
  • 如何查网站关键词乐清 网站建设
  • 中英双语网站建设一条龙网站建设价格
  • 海外网站建设平台做盗版视频网站成本多少钱
  • 做网站的荣誉证书国家企业信用信息查询公示系统官网
  • 云南建站推广外国风格网站建设价格
  • 制作宣传图片的软件app优化培训课程
  • 做影视网站须要注意什么东营做营销型网站建设
  • 个人网站的设计与建设论文企业网站建设上海
  • 物流企业网站建设方案网站建设全流程 知乎
  • 番禺网站制作多少钱太原做网站公司5大建站服务
  • 安庆网站优化广西桂平建设局网站
  • wordpress电影站数据下载自己做网站需要什么材料
  • 网站推广是什么岗位wordpress ajax json
  • 商业网站建设案例笔记图片链接生成网站
  • 做网站的原型 免费wordpress编辑器字体
  • 关闭网站需要多久怎么入驻电商平台
  • 网站织梦如何让会员注册怎么做彩票游戏网站