- 博客(6)
- 收藏
- 关注
原创 C语言中的静态和动态开辟内存的对比
其中realloc是在原先内存空间上的再扩展,它存在两种情况:①在原有的内存上追加,此时arr和arr_new指针存储的内存地址一样。②如果新开辟的空间过大,无法在原有的基础上扩展,会copy原有的空间到新开辟的空间中,并且释放原由的内存空间;这种情况下arr和arr_new的内存地址是不一样的。方法执行会入栈,执行结束出栈,在此过程中会涉及到变量(别名)在内存中的存储和销毁;C语言中程序员操作比较频繁的是栈空间和堆空间。
2023-04-21 11:03:47 130
原创 C语言指针
分析:malloc在堆内存中开辟空间后将堆空间的地址返回,由于arr属于指针变量,所以它存储的是malloc开辟的堆地址,同时此变量又有它对应的内存地址;&arr=此变量在栈中的内存地址(存储值的内存地址);由于没有释放堆空间,所有每次开辟获取到的地址都不一样(arr),而由于arr变量名没有变,所有它对应的内存地址也没有变。指针即地址,内存空间被地址划分,内存中的内容均可以使用地址来表示,找到地址就可以找到内存中存放的内容。分析:num打印它在内存中存储的值,&num打印存储此变量值的内存地址。
2023-04-20 18:43:36 91 1
原创 Android 多个Fragment切换时,避免重复创建Fragment。
加载的Fragment的方法有:、 1、replace():替换,当前Fragment不再使用时使用。 2、add():添加,如果有Fragment会覆盖它。 Fragment的应用场景大部分是想qq、微信那样。那么MainActivity里加载Fragment应该是复用的,如果用replace()加载,每次都会创建新的Fragment,显然不是我们想要的结果。方案:用add()、hide(
2017-07-03 15:30:25 12167 2
原创 RecyclerView添加头部和尾部并解决no
原理:封装基类RecyclerView.Adapter,名字为WrapAdapter;功能性的Adapter名字叫RealAdapter;在WrapAdapter的回调中封装头和尾View,并且调用RealAdapter的相应回调。实现功能。
2017-06-30 10:33:51 507
原创 android 实现透明的沉浸式状态栏
只有大于等于4.4版本支持这个半透明状态栏的效果,但是4.4和5.0的显示效果有一定的差异。 思路:使我们的布局填充在状态栏上,也就是我们可以用到状态栏的区域了;为了适配不同的手机屏幕,动态的获取状态栏的高度,创建和状态栏一样的高度,添加到布局中,这样我们也可以动态的设置View的颜色,达到我们想要的效果;同事在根View设置android:fitsSystemWindows这个属性,主要是通过
2017-06-29 10:48:21 376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人