51dev.com IT技术开发者社区

51dev.com 技术开发者社区

Fragment 的 replace 和 add 方法的区别?

Fragment 的 replace 和 add 方法的区别?

Fragment本身并没有replace和add方法,这里的理解应该为使用FragmentManager的replace和add两种方法切换Fragment时有什么不同。我们经常使用的一个架构就是通过RadioGroup切换Fragment,每个Fragment就是一个功能模块。caseR.id.r...

继成极光推送SDk的实现

继成极光推送SDk的实现

进入极光推送官网:https://www.jiguang.cn/push注册,创建应用,申请APPKey等操作代码实现:确认androidstudio的Project根目录的主gradle中配置了jcenter支持。(新建project默认配置就支持)buildscript{repositories...

Serializable 和 Parcelable 的区别?

Serializable 和 Parcelable 的区别?

1.在使用内存的时候,Parcelable类比Serializable性能高,所以推荐使用Parcelable类。2.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。3.Parcelable不能使用在要将数据存储在磁盘上的情况。尽管Serializable效率低点,但...

描述一下 Intent 和 IntentFilter?

描述一下 Intent 和 IntentFilter?

Android中通过Intent对象来表示一条消息,一个Intent对象不仅包含有这个消息的目的地,还可以包含消息的内容,这好比一封Email,其中不仅应该包含收件地址,还可以包含具体的内容。对于一个Intent对象,消息“目的地”是必须的,而内容则是可选项。通过Intent...

在 Android 中如何调用 C 语言?

在 Android 中如何调用 C 语言?

当我们的Java需要调用C语言的时候可以通过JNI的方式,JavaNativeInterface。Android提供了对JNI的支持,因此我们在Android中可以使用JNI调用C语言。在Android开发目录的libs目录下添加xxx.so文件,不过xxx.so文件需要放在对应的CPU架构名目录下...

介绍一下 NDK?

介绍一下 NDK?

1.NDK是一系列工具的集合NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”...

ListView 中图片错位的问题是如何产生的?

ListView 中图片错位的问题是如何产生的?

图片错位问题的本质源于我们的listview使用了缓存convertView,假设一种场景,一个listview一屏显示九个item,那么在拉出第十个item的时候,事实上该item是重复使用了第一个item,也就是说在第一个item从网络中下载图片并最终要显示的时候,其实该item已经不在当前显示...

scrollView 嵌套 listview 方式除了测量还有什么方法?

scrollView 嵌套 listview 方式除了测量还有什么方法?

1、手动设置ListView高度经过测试发现,在xml中直接指定ListView的高度,是可以解决这个问题的,但是ListView中的数据是可变的,实际高度还需要实际测量。于是手动代码设置ListView高度的方法就诞生了。/***动态设置ListView的高度/***动态设置ListView的高度...

在 Activity 中使用 Handler 的时候如何去除警告信息?

在 Activity 中使用 Handler 的时候如何去除警告信息?

可以使用弱引用....

ListView 中如何优化图片?

ListView 中如何优化图片?

图片的优化策略比较多。1、处理图片的方式:如果ListView中自定义的Item中有涉及到大量图片的,一定要对图片进行细心的处理,因为图片占的内存是ListView项中最头疼的,处理图片的方法大致有以下几种:①、不要直接拿路径就去循环BitmapFactory.decodeFile;使用Option...

ListView 如何提高其效率?

ListView 如何提高其效率?

①复用ConvertView②自定义静态类ViewHolder③使用分页加载④使用WeakRefrence引用ImageView对象ViewHolder为什么要声明为静态类?非静态内部类拥有外部类对象的强引用,因此为了避免对外部类(外部类很可能是Activity)对象的引用,那么最好将内部类声明为s...

android:layout_gravity 和 android:gravity 的区别?

android:layout_gravity 和 android:gravity 的区别?

第一个是让该布局在其父控件中的布局方式,第二个是该布局布置其字对象的布局方式...

使用权重如何让一个控件的宽度为父控件的 1/3?

使用权重如何让一个控件的宽度为父控件的 1/3?

可以在水平方向的LinearLayout中设置weightSum为3,然后让其子控件的weight为1,那么该子控件就是父控件的1/3。...

Android 中布局的优化措施都有哪些?

Android 中布局的优化措施都有哪些?

1、尽可能减少布局的嵌套层级可以使用sdk提供的hierarchyviewer工具分析视图树,帮助我们发现没有用到的布局。2、不用设置不必要的背景,避免过度绘制比如父控件设置了背景色,子控件完全将父控件给覆盖的情况下,那么父控件就没有必要设置背景。3、使用<include>标签复用相同的...

谈谈 UI 中, Padding 和 Margin 有什么区别?

谈谈 UI 中, Padding 和 Margin 有什么区别?

android:padding和android:layout_margin的区别,其实概念很简单,padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个...