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

企业网站和域名的好处wordpress Suffusion

企业网站和域名的好处,wordpress Suffusion,河北建设安装工程有限公司怎么样,jsp网站开发技术1.说下你所知道的设计模式与使用场景 建造者模式#xff1a; 观察者模式#xff1a; 代理模式#xff1a; 门面模式#xff1a; 单例模式#xff1a; 生产者消费者模式: 2.Java语言的特点与OOP思想 这个通过对比来描述#xff0c;比如面向对象和面向过程的对比#x…1.说下你所知道的设计模式与使用场景 建造者模式 观察者模式 代理模式 门面模式 单例模式 生产者消费者模式: 2.Java语言的特点与OOP思想 这个通过对比来描述比如面向对象和面向过程的对比针对这两种思想的对比还可以举个开发中的例子比如播放器的实现面向过程的实现方式就是将播放视频的这个功能分解成多个过程比如加载视频地址获取视频信息初始化解码器选择合适的解码器进行解码读取解码后的帧进行视频格式转换和音频重采样然后读取帧进行播放这是一个完整的过程这个过程中不涉及类的概念而面向对象最大的特点就是类封装继承和多态是核心同样的以播放器为例一面向对象的方式来实现将会针对每一个功能封装出一个对象每一个功能对应一个对象由这个对象来完成对应的功能并且遵循单一职责原则一个对象只做它相关的事情 3.说下java中的线程创建方式线程池的工作原理。 Java中有三种创建线程的方式或者说四种 1.继承Thread类实现多线程 2.实现Runnable接口 3.实现Callable接口 4.通过线程池 线程池的工作原理 线程池可以减少创建和销毁线程的次数从而减少系统资源的消耗当一个任务提交到线程池时. a. 首先判断核心线程池中的线程是否已经满了如果没满则创建一个核心线程执行任务否则进入下一步. b. 判断工作队列是否已满没有满则加入工作队列否则执行下一步. c. 判断线程数是否达到了最大值如果不是则创建非核心线程执行任务否则执行饱和策略默认抛出异常. 4.说下handler原理 HandlerMessagelooper和MessageQueue构成了安卓的消息机制handler创建后可以通过sendMessage将消息加入消息队列然后looper不断的将消息从MessageQueue中取出来回调到Hander的handleMessage方法从而实现线程的通信。 从两种情况来说第一在UI线程创建Handler,此时我们不需要手动开启looper因为在应用启动时在ActivityThread的main方法中就创建了一个当前主线程的looper并开启了消息队列消息队列是一个无限循环为什么无限循环不会ANR?因为可以说应用的整个生命周期就是运行在这个消息循环中的安卓是由事件驱动的Looper.loop不断的接收处理事件每一个点击触摸或者Activity每一个生命周期都是在Looper.loop的控制之下的looper.loop一旦结束应用程序的生命周期也就结束了。 我们可以想想什么情况下会发生ANR? 第一事件没有得到处理 第二事件正在处理但是没有及时完成而对事件进行处理的就是looper所以只能说事件的处理如果阻塞会导致ANR而不能说looper的无限循环会ANR 另一种情况就是在子线程创建Handler,此时由于这个线程中没有默认开启的消息队列所以我们需要手动调用looper.prepare(),并通过looper.loop开启消息 主线程Looper从消息队列读取消息当读完所有消息时主线程阻塞。子线程往消息队列发送消息并且往管道文件写数据主线程即被唤醒从管道文件读取数据主线程被唤醒只是为了读取消息当消息读取完毕再次睡眠。因此loop的循环并不会对CPU性能有过多的消耗。 5.内存泄漏的场景和解决办法 1.非静态内部类的静态实例 非静态内部类会持有外部类的引用如果非静态内部类的实例是静态的就会长期的维持着外部类的引用组织被系统回收解决办法是使用静态内部类 2.多线程相关的匿名内部类和非静态内部类 匿名内部类同样会持有外部类的引用如果在线程中执行耗时操作就有可能发生内存泄漏导致外部类无法被回收直到耗时任务结束解决办法是在页面退出时结束线程中的任务 3.Handler内存泄漏 Handler导致的内存泄漏也可以被归纳为非静态内部类导致的Handler内部message是被存储在MessageQueue中的有些message不能马上被处理存在的时间会很长导致handler无法被回收如果handler是非静态的就会导致它的外部类无法被回收 解决办法是 1.使用静态handler外部类引用使用弱引用处理 2.在退出页面时移除消息队列中的消息 4.Context导致内存泄漏 根据场景确定使用Activity的Context还是Application的Context,因为二者生命周期不同对于不必须使用Activity的Context的场景Dialog,一律采用Application的Context,单例模式是最常见的发生此泄漏的场景比如传入一个Activity的Context被静态类引用导致无法回收 5.静态View导致泄漏 使用静态View可以避免每次启动Activity都去读取并渲染View但是静态View会持有Activity的引用导致无法回收 解决办法是在Activity销毁的时候将静态View设置为nullView一旦被加载到界面中将会持有一个Context对象的引用在这个例子中这个context对象是我们的Activity声明一个静态变量引用这个View也就引用了activity 6.WebView导致的内存泄漏 WebView只要使用一次内存就不会被释放所以WebView都存在内存泄漏的问题通常的解决办法是为WebView单开一个进程使用AIDL进行通信根据业务需求在合适的时机释放掉 7.资源对象未关闭导致 如CursorFile等内部往往都使用了缓冲会造成内存泄漏一定要确保关闭它并将引用置为null 8.集合中的对象未清理 集合用于保存对象如果集合越来越大不进行合理的清理尤其是入股集合是静态的 9.Bitmap导致内存泄漏 bitmap是比较占内存的所以一定要在不使用的时候及时进行清理避免静态变量持有大的bitmap对象 10.监听器未关闭 很多需要register和unregister的系统服务要在合适的时候进行unregister,手动添加的listener也需要及时移除 6.如何避免OOM? 1.使用更加轻量的数据结构 如使用ArrayM 《安卓学习笔记总结最新移动架构视频大厂安卓面试真题项目实战源码讲义》浏览器打开 完整开源项目docs.qq.com/doc/DSkNLaERkbnFoS0ZF ap/SparseArray替代HashMap,HashMap更耗内存因为它需要额外的实例对象来记录Mapping操作SparseArray更加高效因为它避免了Key Value的自动装箱和装箱后的解箱操作 2.枚举的使用 可以用静态常量或者注解IntDef替代 3.Bitmap优化: a.尺寸压缩 通过InSampleSize设置合适的缩放 b.颜色质量 设置合适的format,ARGB_6666/RBG_545/ARGB_4444/ALPHA_6存在很大差异. c.inBitmap: 使用inBitmap属性可以告知Bitmap解码器去尝试使用已经存在的内存区域新解码的Bitmap会尝试去使用之前那张Bitmap在Heap中所占据的pixel data内存区域而不是去问内存重新申请一块区域来存放Bitmap。利用这种特性即使是上千张的图片也只会仅仅只需要占用屏幕所能够显示的图片数量的内存大小但复用存在一些限制具体体现在在Android 4.4之前只能重用相同大小的Bitmap的内存而Android 4.4及以后版本则只要后来的Bitmap比之前的小即可。使用inBitmap参数前每创建一个Bitmap对象都会分配一块内存供其使用而使用了inBitmap参数后多个Bitmap可以复用一块内存这样可以提高性能 d.StringBuilder替代String: 在有些时候代码中会需要使用到大量的字符串拼接的操作这种时候有必要考虑使用StringBuilder来替代频繁的“” e.避免在类似onDraw这样的方法中创建对象因为它会迅速占用大量内存引起频繁的GC甚至内存抖动 f.减少内存泄漏也是一种避免OOM的方法 最后 其实Android开发的知识点就那么多面试问来问去还是那么点东西。所以面试没有其他的诀窍只看你对这些知识点准备的充分程度。so出去面试时先看看自己复习到了哪个阶段就好。 虽然 Android 没有前几年火热了已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了现在高级工程师还是比较缺少的很多高级职位给的薪资真的特别高钱多也不一定能找到合适的所以努力让自己成为高级工程师才是最重要的。 这里附上上述的面试题相关的几十套字节跳动京东小米腾讯、头条、阿里、美团等公司21年的面试题。把技术点整理成了视频和PDF实际上比预期多花了不少精力包含知识脉络 诸多细节。 由于篇幅有限这里以图片的形式给大家展示一小部分。 网上学习 Android的资料一大堆但如果学到的知识不成体系遇到问题时只是浅尝辄止不再深入研究那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。 mg-PNsqyAXj-1709273282763)] 网上学习 Android的资料一大堆但如果学到的知识不成体系遇到问题时只是浅尝辄止不再深入研究那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。 本文已被CODING开源项目《Android学习笔记总结移动架构视频大厂面试真题项目实战源码》收录
http://www.w-s-a.com/news/946698/

相关文章:

  • 伊宁市做网站功能性质网站
  • 北京哪个网站制作公司优化大师免费安装下载
  • 同江佳木斯网站设计做网站联系电话
  • 设计上海展会2023seo网站模板下载
  • 开发一个卖东西的网站多少站长工具永久
  • 公司网站怎么突然多了好多友情链接如何删除宁波有几个区
  • 临沂seo网站推广wordpress新编辑器
  • c2c网站设计店面logo设计制作
  • 网站建设任务执行书重庆今天新闻事件
  • 怎样发布自己的网站南宁制作网站公司
  • wordpress装多站点百度查一下
  • 怎么优化一个网站搭建网站免费空间
  • 山东建设和城乡建设厅注册中心网站首页wordpress安装教材
  • 个人风采网站制作毕节网站开发公司电话
  • 网络网站销售设计主题和设计理念
  • 做网站一般用什么服务器承德专业做网站
  • 松北区建设局网站网站建设分为几种
  • 网站建设的合同 体会智联招聘网站建设情况
  • 记的网站域名wordpress地方信息主题
  • 淄博好的建网站公司网站建设 海口
  • 有人做网站花了10几万2017做啥网站能致富
  • 做网站有什么软件cod建站平台
  • 合肥学校网站建设怎么做免费的产品图片网站
  • 营养早餐网站的设计与制作建设通网站怎么查项目经理在建
  • 浑南区建设局网站永州网站建设公司推荐
  • 做外贸都得有网站吗绵阳网站建设制作
  • 功能性的网站建设北京餐饮品牌设计公司
  • php做网站优势视频直播软件
  • 怎么安装php网站哪个网站是专门为建设方服务的
  • 重慶网站开发sina app engine wordpress