自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Android用ndk编译c代码生成so库与调用

一般我们开发主要是使用Java,但项目中有些涉及到复杂的算法或耗时操作时,通常使用C/C++完成算法实现并提供给java层(通过JNI)调用,以此提高运行的效率。这种情况下,C/C++所实现的代码以及JNI调用相关的代码被打包为.so库。笔者在在处理客户的一个问题时遇到了需要使用JNI调用c++算法的情况,之前也没有相关的经验,折腾了一番之后终于跑通,故整理一下整个过程。本文以一个加法运算的简单功能为例,说明如何使用JNI开发。环境工具的准备系统:windows 10,工具:Android S

2021-11-24 16:27:39 5009

原创 2021-05-28

GC垃圾回收什么时候触发GC?手动触发:当前程序去调用System.gc()的时候触发。注意:GC回收的时候程序会停止运行,同时回收的过程中,会消耗大量的系统性能,所以,一般情况下我们不会主动的去调用gc回收方法。自动触发:根据Eden区和From Space区的内存大小来决定。当内存大小不足时,则会启动GC线程并停止应用线程,程序zaishenq内存的时候,系统(jvm)发现内存不足,这个时候就会触发GC.。GC回收的算法?标记清除分为两个步骤,第一个步骤就是标记,也就是标记处所有

2021-05-28 20:20:21 77

原创 2021-05-27

内存优化1.内存泄露程序在申请内存后,当该内存不需再使用但却无法被释放 & 归还给程序的现象,对应用程序的影响容易使得应用程序发生内存溢出,即OOM2.集合类集合类添加元素后,仍引用着 集合元素对象,导致该集合元素对象不可被回收,从而 导致内存泄漏解决方案:集合类添加集合元素对象后,在使用后必须从集合中删除3.Static关键字修饰的成员变量被Static关键字修饰的成员变量的生命周期 = 应用程序的生命周期泄露原因:若使被 Static关键字修饰的成员变量 ...

2021-05-27 19:49:43 118 3

原创 2021-05-26

性能优化1.布局优化关于布局优化的思想很简单,就是尽量减少布局文件的层级。进来减少组件的数量,布局中的层级少组件数量少,就意味着Android绘制时的工作量少了,那么程序的性能自然就提高了优化:删除布局中无用的控件和层次,其次有选择地使用性能比较低的ViewGroup。采用标签ViewStub,Viewstub组件开始的时候不需要渲染出来,我们通过setVisibility(View.VIVIBLE)和inflate去显示组件。inflate只能够被调用一次,如果多次就会报错。2.避免过

2021-05-26 15:22:22 82

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除