导航

公墓网

当前位置: 首页 > 公墓资讯

bitmap.recycle

更新时间:2025 07 23 01:28:28 作者 :庆美网 围观 : 78次

大家好,今天小编来为大家解答bitmap.recycle这个问题,很多人还不知道,现在让我们一起来看看吧!

身为程序员,自我提升有多重要?我相信大家应该都是心照不宣的, 由于技术的深度、广度以后是决定你在职业发展过程中所带给你的竞争力,而自我提升时拥有一份好的学习资料就显得尤为重要了,因为有太多人就是输在起跑线上的。

网络上,Android免费资料发送的铺天盖地。但是,知识的完整度、深度和系统的完整性在你心里真正能打几分,恐怕只有你自己才能够知道了。而这份小编通过这些年的经历耗时三个月整理出来的:《 Android 中高级面试题合集》一经发布,两个月内在 Github 走红,犹如一匹脱缰的黑马,有着 10.8K+Star 的红绸加持,迅速登顶了Android圈内热榜!

第一章Java部分:

bitmap.recycle

  • 你所知道的设计模式有哪些
  • 单例设计模式
  • 工厂设计模式
  • 建造者模式(Builder)
  • 适配器设计模式
  • 装饰模式(Decorator)
  • 观察者模式(Observer)
  • ArrayList的构造器
  • add方法源码分析
  • get方法源码分析
  • set方法源码分析
  • 支持的操作
  • Node类
  • addFirst源码分析
  • getFirst方法源码分析
  • removeFirst方法源码分析
  • add(int index, E e)方法源码分析
  • 构造方法
  • 添加元素
  • 删除元素
  • 查询元素
  • 遍历元素
  • 全部源码
  • JVM
  • Object
  • static
  • final
  • String、StringBuffer. StringBuilder
  • 异常处理
  • 内部类
  • 多态
  • 抽象和接口
  • 集合框架
  • 反射
  • 单例线程
  • ……

第二章Android 相关:

  • 性能优化与源码
  • Android之SharedPreferences内部原理浅析
  • Android源码分析-消息队列和Looper
  • Android源码分析—带你认识不一样的AsyncTask
  • Android性能优化之使用线程池处理异步任务
  • Android Context完全解析,你所不知道的Context的各种细节
  • Android进程间通信(IPC)机制Binder简要介绍和学习计划
  • Activity
  • Activity是什么?
  • 典型情况下的Activity生命周期?
  • 异常情况下的Activity的生命周期 & 数据如何保存和恢复?
  • 从Activity A跳转到Activity B之后,然后再点击back键之后,它们的生命周期调用流程是什么?
  • 如何统计Activity的工作时间?
  • 给我说说Activity的启动模式 & 使用场景。
  • 如何在任意位置关掉应用所有Activity & 如何在任意位置关掉指定的Activity?
  • Activity的启动流程(从源码角度解析)?
  • 启动一个其它应用的Activity的生命周期分析。
  • BroadcastReceiver
  • 广播是什么?
  • 广播的注册方式有哪些?
  • 广播的分类 & 特性 & 使用场景?
  • 说说系统广播和本地广播的原理 & 区别 & 使用场景。
  • 有两个应用注册了一样的广播,一个是静态,一个是动态,连优先级也一样,那么当广播从系统发出来后,哪个应用先接收到广播?
  • Fragment
  • Android中v4包下Fragment和app包下Fragment的区别是什么?
  • Fragment的生命周期 & 请结合Activity的生命周期再一起说说。
  • 说说Fragment如何进行懒加载。
  • ViewPager + Fragment结合使用会出现内存泄漏吗 & 如何解决?
  • Fragment如何和Activity进行通信 & Fragment之间如何进行通信?
  • 给我谈谈Fragment3种切换的方式以及区别 & 使用场景。
  • getFragmentManager,getSupportFragmentManager,getChildFragmentManager之间的区别?
  • FragmentPagerAdapter和FragmentStatePagerAdapter区别?
  • Fragment如何实现类似Activity栈的压栈和出栈效果的?
  • 序列化
  • 什么是序列化 & 能用来干什么?
  • Android中序列化方式有几种?说说它们的区别。
  • 如果想要序列化的类中某些字段不序列化,那么应该怎么做?
  • IPC
  • 说说你对Android多进程开发的认识?
  • Android中进程间通信的方式有哪些?
  • 什么是AIDL?如何创建一个AIDL。
  • 文件存储
  • 说说Android中数据持久化的方式 & 使用场景。
  • 接触过MMKV吗?说说SharedPreference和它的区别。
  • 第三方数据库框架用过哪些?有没有自己封装过一个SQLite的库?
  • SQLite是线程安全的吗 & SharedPreference是线程安全的吗?
  • 请简单的给我说说什么是三级缓存?
  • SharedPreference的apply和commit的区别。
  • 谈谈你对SQLite事务的认识。
  • ListView & RecyclerView
  • ListView是什么?如何使用?
  • RecyclerView是什么?如何使用?如何返回不一样的Item。
  • ListView和RecycyclerView的区别是什么?
  • 分别讲讲你对ListView & RecyclerView的优化经验。
  • 给我说说RecyclerView的回收复用机制
  • 说说你是如何给ListView & RecyclerView加上拉刷新 & 下拉加载更多机制。
  • 谈谈你是如何对ListView & RecycleView进行局部刷新的?
  • 谈谈如何进行分页加载?
  • ScrollView下嵌套一个ListView通常会出现什么问题?
  • 一个ListView或者一个RecyclerView在显示新闻数据的时候,出现图片错位,可能的原因有哪些 & 如何解决?
  • View事件分发机制
  • View绘制机制
  • 布局
  • Binder
  • 动画机制
  • JNI
  • Window & Appliction & Context
  • 通知
  • 对话框(Dialog & DialogFragment & PopWindow)
  • 蓝牙
  • Android中进程与线程调度之nice
  • Android动态链接库so的加载原理
  • Toast 原理剖析
  • Android I/O
  • Android项目构建流程
  • HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程
  • TCP协议与UDP协议的区别
  • 网页中输入url,到渲染整个界面的整个过程,以及中间用了什么协议?
  • 具体介绍下TCP/IP
  • TCP的三次握手和四次挥手,为什么不是两次握手?为什么挥手多一次呢?
  • HTTP的几种请求方法具体介绍
  • HTTP请求和响应报文的格式,以及常用状态码。
  • 谈一谈Service的生命周期?
  • Service的两种启动方式?区别在哪?
  • 如何保证Service不被杀死 ?
  • 能否在Service开启耗时操作 ? 怎么做 ?
  • 用过哪些系统Service ?
  • 了解ActivityManagerService吗?发挥什么作用
  • 描述一下Android数据持久存储方式?
  • SharedPreferences的应用场景?注意事项?
  • SharedPrefrences的apply和commit有什么区别?
  • 了解SQLite中的事务操作吗?是如何做的
  • 使用SQLite做批量操作有什么好的方法吗?
  • 如何删除SQLite中表的个别字段
  • 使用SQLite时会有哪些优化操作?
  • 广播有几种形式 ? 都有什么特点 ?
  • 广播的两种注册方式 ?
  • 广播发送和接收的原理了解吗 ?(Binder机制、AMS)
  • 谈谈消息机制Handler作用 ?有哪些要素 ?流程是怎样的 ?
  • 一个线程能否创建多个Handler,Handler跟Looper之间的对应关系 ?
  • 软引用跟弱引用的区别
  • Handler 引起的内存泄露原因以及最佳解决方案
  • 为什么系统不建议在子线程访问UI?
  • Looper死循环为什么不会导致应用卡死?
  • 使用Handler的postDealy后消息队列会有什么变化?
  • 可以在子线程直接new一个Handler吗?怎么做?
  • Message可以如何创建?哪种效果更好,为什么?
  • 线程池的好处? 四种线程池的使用场景,线程池的几个参数的理解?
  • Android中还了解哪些方便线程切换的类?
  • 讲讲AsyncTask的原理
  • IntentService有什么用 ?
  • Bitmap使用需要注意哪些问题 ?
  • Bitmap.recycle()会立即回收么?什么时候会回收?如果没有地方使用这个Bitmap,为什么垃圾回收不会直接回收?
  • 一张Bitmap所占内存以及内存占用的计算
  • Android中缓存更新策略 ?
  • LRU的原理 ?
  • 内存泄露和内存溢出的区别 ?AS有什么工具可以检测内存泄露
  • 性能优化,怎么保证应用启动不卡顿? 黑白屏怎么处理?
  • 强引用置为null,会不会被回收?
  • ListView跟RecyclerView的区别
  • ListView的adapter是什么adapter
  • LinearLayout、FrameLayout、RelativeLayout性能对比,为什么?
  • 谈谈MVC、MVP和MVVM,好在哪里,不好在哪里 ?
  • 封装p层之后.如果p层数据过大,如何解决?
  • 是否能从Android中举几个例子说说用到了什么设计模式 ?
  • 装饰模式和代理模式有哪些区别 ?
  • 如何进行单元测试,如何保证App稳定 ?
  • Android中如何查看一个对象的回收情况 ?
  • Apk的大小如何压缩 ?
  • 如何通过Gradle配置多渠道包?
  • 插件化原理分析
  • 组件化原理
  • 跨组件通信
  • 组件化中路由、埋点的实现
  • Hook以及插桩技术
  • Android的签名机制?
  • 会用Kotlin、Fultter吗? 谈谈你的理解
  • Kotlin和Java的区别
  • 说一下Kotlin的伴生对象
  • 请简单介绍下Flutter框架,以及它的优缺点?
  • 介绍下Flutter的理念架构
  • 介绍下Flutter的FrameWork层和Engine层,以及它们的作用
  • 介绍下Widget、State、Context 概念
  • StatefulWidget 的生命周期
  • 简述Widgets、RenderObjects 和 Elements的关系
  • 简述Flutter的绘制流程
  • 简述Flutter的线程管理模型
  • 设计思想与代码质量优化
  • 程序性能优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据存储优化
  • 开发效率优化
  • 热修复设计
  • 插件化框架设计
  • 组件化框架设计.
  • 图片加载框架
  • 网络访问框架设计
  • RXJava响应式编程框架设计
  • IOC架构设计
  • Android架构组件Jetpack
  • LeakCanary核心原理源码浅析
  • LruCache 使用及原理
  • ARouter原理
  • 注解框架实现原理
  • Android 如何编写基于编译时注解的项目
  • RxJava2+Retrofit2+OkHttp3的基础、封装和项目中的使用
  • Rxjava2.0+Retrofit+Okhttp(封装使用)+MVP框架搭建
  • Android 插件化和热修复知识梳理
  • Android开发中比较常见的内存泄漏问题及解决办法
  • 如何检测和定位Android内存泄漏
  • 图片占据的内存算法
  • 为什么图片需要用软引用,MVP模式中的view接口用弱引用
  • 基于DataBinding与LiveData的MVVM实践
  • App稳定性优化
  • App启动速度优化
  • App内存优化
  • App绘制优化
  • App瘦身
  • 网络优化
  • App电量优化
  • 安卓的安全优化
  • 为什么WebView加载会慢呢?
  • 如何优化自定义View
  • ……

题库实在是有点多,由于篇幅原因,也为了不影响阅读,能展示的内容就到这里了,(注意文章展示的是题库,答案也也整理成PDF)需要完整版PDF文档的小伙伴可以后台私信关键词【666】即可获得免费领取方式。

一份好的Android学习资料能帮助你在进阶的路上突破瓶颈期,修复自我技术上的短板。但是这都是基于你拥有自律的学习习惯、良好的学习态度,所以,希望拿到这份《Android中高级面试合集》的朋友能够严于律己、努力提升,才能在面对职业危机时,显得从容不迫。并且我相信对即将想要在明年金三银四中跳槽的小伙伴会有很大的用处。

如果你即将想要跳槽或是需要进阶,觉得这份资料正好你需要,可以后台私信关键词【666】即可获得免费领取方式。

Android面试一天一题(3)让你的APP如丝般顺滑

先是题外话,17届同学注意啦,BAT、网易、微软和Google中国的内推都开始啦,赶紧联系学长学姐让自己多一次机会吧,内推失败不会影响你的正常网申。

OK,广告结束,进入正题。

在你日后参加的每一场Android面试里,一定都会被问到同一个问题,“你用过哪些手段来优化APP的性能?”。

在回答这个问题的时候,我建议采取小学体育老师教我的叙述方法——总—分的形式。先总的来说“在APP开发过程中,可能遇到的性能问题包括内存泄露、内存溢出、布局重叠、ANR以及线程爆炸等”;随后,分别说“比如,为了避免内存泄露,我曾经……”下面,我们具体看看“总”和“分”具体包括了哪些内容,面试的时候大家可以自己选择一部分作为答案。

1.总

为了向面试官描述APP可能遇到性能问题时,我们自己首先要清楚这些问题指的是什么。

首先,看看内存泄露和内存溢出。他们有啥区别,简单来说——内存泄露是指,该释放的资源不释放,导致本可以被系统回收的内存无法回收;内存溢出是指,你要的内存太大系统给不了。什么场景下会导致内存泄露和内存溢出呢?

内存泄露的几种常见场景,广义上说都是该释放的不释放,如:用完Bitmap不调recycle(),查完数据库不关Cursor,跑完动画(属性动画中的无限循环动画)不调cancel(),注册(Receiver,EventBus)过后不unregister();而内存溢出,最常见的出现在Bitmap中,当我第一次做用户头像上传的功能时,每次拍完照,直接点击上传,APP先是卡住,而后崩溃。这就是由于Bitmap所占内存过大导致的。

其次,让我们了解下布局重叠。冬天穿衣服很麻烦,因为你得一件一件套,裹得跟个粽子似的。Android跟人一样,如果你让它在屏幕的同一个位置重复画很多次布局,它就会很烦躁,可能出现卡帧的情况。这就是所谓布局重叠的问题,大家可以打开自己手机,设置—辅助功能–开发人员工具–硬件加速渲染—调试GPU过渡绘制— 显示过渡绘制区域,来查看每个APP的布局重叠状态,各种颜色的含义如下图所示。

此外,ANR是由于在主线程里做了耗时操作,造成Activity在5秒内无法对触屏或输入时间做出相应;而线程爆炸则出现在我们频繁创建和销毁时,这类操作会导致大量线程相互争抢资源而造成阻塞。

2.分

在“总”的说完后,就可以挑两个谈谈我们的处理办法了。比如Bitmap占用内存过大的问题,我们的处理办法是什么呢?在拍照上传头像这样的场景里,可以通过增加一个裁剪页面,来主动控制所要上传头像的大小。而在图片加载这样的场景里,我们可以使用BitmapFactory.Options先设置好我们需要的图片尺寸(指的是我们为某个imageview预先设置的尺寸,这个尺寸一般都比原始图片小的多),随后在进行加载,这样也可以避免OOM问题。再比如布局重叠的问题,我们可以通过,等标签有效地解决,这里有一点需要注意的是,标签只能用来处理一次某个布局从不可见到可见的过程,如果需要持续控制,多次隐藏、显示某个布局,则不能使用该标签。

除了上面举的这两个例子外,性能优化的手段还包括:ViewHolder的使用,线程池的使用(AsyncTask是基于线程池的),通过判断Listview的滚动状态动态执行数据的加载(如快速滚动时暂不加载,静止或慢速滑动时加载),适当使用软引用以及使用SparseArray代替HashMap等。

最后,如果使用过像MAT这样的内存分析工具就更好了,它可以帮助你快速定位项目中存在的内存泄露问题,如下图所示。

切记,回答这种问题的时候看着面试官的眼镜,不要低着头像背课文一样,很不好呦~希望大家能够多多订阅,谢谢大家啦~DX

MDCC2015 平台与技术-Android专场(下):共享Android应用开发经验

【CSDN现场报道】10月14日-16日,“ 2015移动开发者大会· 中国”(Mobile Developer Conference China 2015,简称MDCC 2015)在北京新云南假日酒店隆重举行。本次大会由全球最大中文IT社区CSDN和中国最具关注度的全方位创业平台创新工场联合主办,以“万物互联,移动为先”为主题,邀请国内外业界领袖与技术专家公论移动开发的热点,在实践中剖析技术方案与趋势。

10月15日下午,平台与技术-Android专场继续进行,腾讯Android工程师胡凯,个推高级技术总监董霖,快的打车移动端架构师吴更新(Trinea),android-gems.com作者、前阿里巴巴工程师廖祜秋和Marvell高级研发经理陈家林五位一线专家,分别针对Android应用开发工作中五个方面的重要议题——内存优化、远程问题诊断和监测、图片缓存源码解析、React Native for Android以及应用安全保障等分享了各自的经验 。

腾讯Android工程师胡凯:Android内存优化的5R法则(PPT下载地址)

胡凯首先介绍Android内存管理中的内存回收、内存泄露、内存分析等基础知识,其目标是更多的内存空间,和尽量减少GC行为。胡凯认为,可以通过5R法则来实现这两点。

腾讯Android工程师 胡凯

  1. Reduce:差异化处理缓存容量、图片资源(针对不同dpi切图不同的图,尤其是引导页);资源按需加载;减小bitmap对象的内存占用,这一点很重要,手段包括inSampleSize和decode format。
  2. Reuse:所有的Reuse背后的精髓都是pool模型的使用,选用一些比较经典的算法;Bitmap对象的复用,这与前文是不同层级的,具体是inBitmap(但不好的地方是增加GC操作),创建inBitmap对象池,让不同场景下复用;注意在ListView/GirdView中ConvertView的复用;避免频繁创建和回收对象,否则可能引发不断的GC行为。
  3. Recycle:注意Activity泄露,包括内部类、容器对象泄露,Static和Singleton;需要谨慎选择合适的Context;注意有生命周期对象的泄露,注意大胖子(Bitmap和WebView)的及时回收;onTrimMemory与onLowMemory的回调。
  4. Refactor:使用优化过后的数据结构,如针对HashMap的处理,其次建议使用static,反对使用枚举;减少内存的碎片化,可以先给大的对象申请,再把一些连续的对象放在一起申请;优化布局,减少内存消耗,比如一些不必要的背景。
  5. Revalue:谨慎使用LargeHeap,LargeHeap虽然可以申请更多内存空间,但也意味着GC的时间变长,效率变低,同时还面临系统判定为占内存应用的弊端;谨慎使用多进程,除非Main Process;谨慎使用第三方libraries。

个推高级技术总监董霖:Android远程问题诊断和监测(PPT下载地址)

董霖首先谈到在LBS场测过程中,要认识到远程日志调试的重要性并思考如何解决这个问题。一个合格的应用程序发版需要经历Demo内测、FA场测和灰度升级,最后才能在市场上架。在此过程中Trac或者Jira问题不断出现,紧接着董霖谈到需要此时手机的两点刚需:一是开Log,看Log;二是看屏幕,截屏。除此以外,也需要通过手机看“关于”信息,或者执行一些Shell命令。现有的日志管理工具如Logstash和Graylog2,虽然综合评估Graylog比较专业,但这些都是针对服务端日志管理,没有支持移动平台的工具。此外仅能够进行Crash分析是远不够的,同时也需要解决非Crash的程序逻辑问题。董霖解释到解决方法仅需简单的4步:确定设备、打开日志、上传日志、分析日志。接下来他主要讲解了Logful架构,其中架构中自行开发的部分是LogfulSDK、LogfulWeb、LogfulAPI。使用此架构可以对日志进行广泛埋点。

个推高级技术总监 董霖

他详解了Demo案例,首先初始化、查看日志记录,例如调查日志模板;在Logfulweb平台上利用Dashboard、管理工具等工具,根据关键字搜索或者type搜索日志,进行日志文件分析。他采用了漏洞分析分方式,得到传统的统计SDK,无法精确到任务级别进行汇总统计,需要借助详细日志分析。LogfulSDK架构分为三层,底层是Logservice,中层是Logcontroller,上层是LogAPI。在日志级别以及资源评估方面均有自己的创新点,并且Logful架构具有很高的并行可扩展性。他总结到该架构的特色功能:截图支持、日志预录、别名支持、日志模板、数据监控以及核心功能:Android/iOS支持、日志加密存储和上传、日志检索、实时日志开关、灰度日志开关、Wifi下上传。最后董霖谈到将在11月中旬对Logful架构进行开源。

快的打车移动端架构师吴更新(Trinea):Android开源项目源码解析之图片缓存对比(PPT下载地址)

吴更新首先介绍选择开源项目的三大优势,可以实现开速开发,站在巨人的肩膀上,和借助社区的智慧,以及选择开源项目时需要考虑的因素,包括:1.Star、PR、Issues、维护;2.文档;3.原理;4.业务场景。

图片缓存目前的主要开源项目包括Imageloader,Picasso、Glide和Fresco,其中Fresco还是0.7版本。他分享了前面三个比较成熟的库的流程、设计和特性对比,涵盖 RequestManage、Engine、 GetDatainterface、Displayer、Decode、Encode、Processor等重要概念。

快的打车移动端架构师 吴更新(Trinea)

他介绍,这些项目的共同优点是:使用简单;可配置都高、自适应程度高;多级缓存;支持多种数据源。单独来说,Imageloader的优点是:支持下载进度显示;可以在View滚动中暂停图片加载;默认实现多种内存缓存算法;支持本地缓存文件名规则定义。Picasso的优点是:自带统计监控功能,有利于节省流量;支持优先级处理;支持延迟到图片尺寸计算完成加载,即加载完成之后再显示;支持飞行模式、并发线程数根据网络类型而变;“无”本地缓存。Glide的优点包括:除了图片缓存,还支持媒体缓存;支持优先级处理;与ActiveFragment生命周期一致,支持trimMemory;支持okhttp和Volley,但与Picasso不一样的是,有自己的本地缓存;内存友好。

总体来说,功能上,Glide最为出色。但代码理解上,Picasso更胜一筹,代码量比较少,设计清晰,而Glide代码量很大,概念众多。对于正常使用,他建议,优先用Picasso,因为Picasso源码解决会比较快,Glide会更加耗费精力。

android-gems.com作者、前阿里巴巴工程师廖祜秋:React Native for Android(PPT下载地址)

廖祜秋首先谈到了JavaScript,其中有:JSC(JavaScriptCore)、NPM(Node Package Management)、Module、JSX Synax。 然后谈到了React Native开发过程时–从H5/JS封装到Reactbride,再到React Native。快速启动时,非常简单,仅需一句操作命令就可。在服务器调制(Debug Server)时,APP和Server相互调度资源。

android-gems.com作者、前阿里巴巴工程师廖祜秋

谈到两个平台运行Demo时,iOS首先是在Xcode中打开工程,然后再运行。Android运行方式:一是模拟器;二要求5.0以上版本以及adb反向接口;三是配置调试服务器。数据包分发方面,iOS相比Android更为简单。

为什么我们需要React Native?他从以下几点进行了解释:具有Native的外观和感觉、可接受的性能、代码的复用性很强、能够进行快速的开发和部署。他解释到React?Native的核心包括:ReactBridge、JavaScriptModule、NativeModule、Native UI Components。你可以利用其设置全局变量,传递参数。谈到代码复用时,这里具有很多优势:一是UI复用;二是模块复用。对于热部署:目前的Apphub,能快速更新本地应用程序,但目前仅支持iOS系统。

在性能方面,首先是性能来源问题:发展模式(dev=true)、慢导航转换、ListView的初始化太慢或者对较大的列表很难访问。使用React Native而非基于WebView工具的有令人信服的点:一是实现60 FPS;二是使得你的应用程序更加像React。

在谈到React Native为什么目前不能成为主流问题时,他解释道:一是跨平台测试问题;二是iOS和Andriod代码库融合问题。最后他希望到一个工程师应该全能,不局限某种语言,并且应具有创造力且能够认真努力工作。

Marvell高级研发经理陈家林:Android应用安全检测(PPT下载地址)

陈家林的分享包括三点:安卓应用典型问题分析,第二如何分类安卓应用安全,第三如何找到应用安全测试工具。首先他列举并分析了几个应用典型问题。

Marvell高级研发经理 陈家林

  1. Activity暴露——某知名互联网手机隐藏工厂测试工具FactoryTest.apk中的Activity暴露,可被任意应用发起Intent调用,且有自动模式。Activity是组件的边界,被暴露风险巨大;
  2. Backup/Restore(备份恢复)——某视频客户端免登陆的做法是服务器会下发一个securityKey,在用户登出之前,客户端一直利用这个securityKey来跟服务器通信。但是这个securityKey是直接明文存放在数据库中,利用Backup/Restore就能在另外一台root手机中窃取这个securityKey,伪造客户端通信;
  3. 某应用云服务存在中间人攻击——某云服务使用HTTPS通信,但是如果手机被安装上恶意证书(例如,利用“证书相关权限绕过”漏洞),并通过恶意代理,HTTPS的数据包还是可以被窃取和篡改的。解决方案是对敏感数据任需要加密,同时对证书进行验证;
  4. 基于剪贴板的攻击——很多ROM厂商都提供的验证码短信的提取定制,支持一键复制功能,但是即使没有监听短信接收广播的恶意应用也可以通过监听剪贴板获得验证码;
  5. 微信抢红包神器——其原理就是利用Android提供的AccessibilityService,拥有辅助功能的App都可以监控任何应用的view,并且可以触发一些输入事件。更夸张的是微信支付密码沦陷同样利用AccessibilityService,监控button的click,拿到对应的text,密码轻松到手。解决方案是让敏View中Accessibility失效:setImportantForAccessibility, not important;setAccessibilityDelegate,空实现delegate类。

陈家林认为,安全的关键是定义边界,他将Android应用安全分为本地接口安全、本地存储安全、传输安全、服务器安全和其他安全等5个大类,29个测试点。

最后他分享了如何找到应用安全测试工具这个问题的见解,具体方法是寻找测试工具、建立测试集合、量化测试工具,并分享了三个工具的玩家:阿里聚安全、腾讯金刚、360捉虫助手。利用开源来丰富这个集合,AuditDroid通过提供测试用例代码来协助开发者理解安卓移动应用安全问题。这里有29个测试点,80个测试用例。用现有的测试工具对这29个测试点的覆盖率、检出率、误报率进行测试并得出了结论。

更多精彩内容,请关注新浪微博:@CSDN移动,图文直播专题:2015移动开发者大会。

用户评论

作业是老师的私生子

真心太赞了!之前一直以为Bitmap回收只有手动调用GC去处理,沒想到还有这么方便的API直接就能 recycle, 感觉效率提升了不少。

    有16位网友表示赞同!

伱德柔情是我的痛。

这个功能真得要学习一下啊,现在内存管理对我们来说越来越重要,而且bitmap经常被用到。学会 bitmap.recycle 肯定能优化很多地方。

    有18位网友表示赞同!

蹂躏少女

我一直用手动释放的方式来处理Bitmap回收,没想到还有更直接的办法!这篇文章让我受益匪浅啊!赶紧把这个 API 用到项目里试一下.

    有14位网友表示赞同!

淡淡の清香

这个文章写的太简单了,完全看不懂 Bitmap 的机制和内存管理。希望可以后续出一些更加深入的文章解释相关概念。

    有12位网友表示赞同!

珠穆郎马疯@

bitmap.recycle 确实很实用的功能,每次用完 Bitmap 记得及时放生啊,避免内存泄漏。

    有7位网友表示赞同!

鹿先森,教魔方

之前没注意过这个 API ,现在看了一下感觉好强大啊!之前处理 Bitmap 的时候可是费了不少功夫的。

    有17位网友表示赞同!

艺菲

我觉得 bitmap.recycle 这种方法虽然好用,但它可能不适用于所有场景, 比如一些特殊情况下, 可能需要手动管理Bitmap的生命周期.

    有5位网友表示赞同!

涐们的幸福像流星丶

感觉这个 API 好像没太大用处啊,因为 Android 自身已经做了很不错的自动内存回收机制, 直接用 recycle 好像意义不大...

    有12位网友表示赞同!

残留の笑颜

bitmap.recycle ,这功能真的太好用了!之前有时候开发的时候会遇到内存溢出的问题,现在学习了这个方法应该能够解决很多问题。

    有12位网友表示赞同!

红尘烟雨

文章讲解得太简单了,对于刚接触 Bitmap 的新手来说可能没有太多帮助,希望作者可以更详细地解释一些关键概念.

    有5位网友表示赞同!

病态的妖孽

bitmap.recycle 确实很方便,但是需要注意的是,Bitmap 被回收后,它所占用的内存空间并不是立即释放的, 而是需要等待系统垃圾回收机制。

    有18位网友表示赞同!

寻鱼水之欢

其实除了 bitmap.recycle ,还有很多其他的方法可以用来优化 Bitmap 的内存管理, 比如使用 BitmapFactory.decodeResource 等方式.

    有11位网友表示赞同!

七级床震

这个文章主要讲了 Bitmap recycle 一种简单的方法,但我发现在实际项目中,还需要考虑更复杂的情况,才能真正进行有效的内存管理.

    有14位网友表示赞同!

疯人疯语疯人愿

看到标题就觉得这篇文一定很有用啊!之前用 Bitmap的时候总感觉内存压力很大,现在看看能不能通过 bitmap.recycle 来解决问题。

    有5位网友表示赞同!

裸睡の鱼

我以为Bitmap回收就是手动调用GC去处理,没想到还有 bitmap.recycle 直接回收的方法,太开心了,赶紧把这篇文章分享给我的老铁们!

    有18位网友表示赞同!

刺心爱人i

bitmap.recycle 的用法很简单,但它带来的效果却很显著! 现在可以更轻松地管理应用程序的内存。

    有19位网友表示赞同!

长裙绿衣

学习了这个方法之后,我的代码更加清爽干净,而且运行起来也更快了!

    有8位网友表示赞同!

标签: 公墓资讯
相关资讯
  • 哪些品牌的奶粉最接近母乳?排行榜前五强揭晓!

    近年来,随着人们对于母乳喂养的重视程度不断提高,接近母乳的奶粉也逐渐成为了消费者们关注的焦点。但究竟哪些品牌的奶粉才能被认为是最接近母乳的呢?今天,我们将为您揭晓排行榜

    2025-07-22 18:57:40 公墓资讯 
  • 哪些品牌的奶粉最受欢迎?

    大家好,今天小编要和大家聊一聊关于奶粉的话题。随着生活水平的提高,越来越多的父母开始关注宝宝们的饮食问题,其中最重要的就是奶粉选择。那么问题来了,哪些品牌的奶粉最受欢迎

    2025-07-22 18:53:40 公墓资讯 
  • 哪些品牌的奶粉是销量排行榜前十?

    奶粉,是宝宝成长过程中不可或缺的重要营养来源。然而,面对市场上琳琅满目的各种品牌奶粉,很多父母都会陷入选择困难。究竟哪些品牌的奶粉能够跻身销量排行榜前十?这其中又有哪些

    2025-07-22 18:42:40 公墓资讯 
  • 哪些品牌的奶粉是进口的?有哪些值得推荐的进口奶粉品牌?

    在如今的市场上,奶粉无疑是备受关注的产品之一。随着人们对生活质量的要求提高,进口奶粉也逐渐成为了消费者们的首选。但是,什么是进口奶粉?它有什么特点?哪些品牌的奶粉是进口的

    2025-07-22 18:37:40 公墓资讯 
  • 哪些品牌的奶粉是进口的?

    近年来,随着人们生活水平的提高和健康意识的增强,进口奶粉备受关注。但是,什么是进口奶粉?为什么它备受关注?它有哪些优势和劣势?哪些品牌的奶粉是进口的?它们有什么特点和价格如何

    2025-07-22 18:33:40 公墓资讯 
  • 哪些品牌的奶粉是有机的?

    嗨,亲爱的小伙伴们!今天我们要聊的话题是关于生活百科行业的,标题就是“哪些品牌的奶粉是有机的?”这个问题相信很多妈妈们都很关心吧。毕竟,给宝宝选择奶粉是一件非常重要的事情

    2025-07-22 18:25:40 公墓资讯