- 博客(13)
- 收藏
- 关注
原创 Android性能优化:看完这篇文章,至少解决 APP 中 90 % 的内存异常问题
虚引用 (PhantomReference) @Test public void onPhantomReference()throws InterruptedException{ String str = new String(“123456”); ReferenceQueue queue = new ReferenceQueue(); // 创建虚引用,要求必须与一个引用队列关联 PhantomReference pr = new PhantomReference(str, queue); System.
2022-03-17 22:03:51
251
原创 Android开发:“等风口过了,html5移动端开发2020
三、360°全方位性能调优 在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。 另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。 1、设计思想与代码质量优化 2、程序性能优化 启动速度与执行效率优化 布局检测与优化 内存优化 耗电优化 网络传输与数据储存优
2022-03-17 22:02:25
180
原创 FIDL:Flutter与原生通讯的新姿势,不局限于基础数据类型
上面的例子中的Map,一般来说,在Java中会对应一个类: public class User { String name; int age; String country; Gender gender; } enum Gender { MALE, FEMALE } 如果想让flutter传输这个对象而不用在flutter层手动去编写User这个类,以及编写fromJson/toJson方法,你可以这样做: Android侧 1、定义一个接口,添加注解@FIDL。这个注解将告知annotationProce
2022-03-17 00:11:22
6960
原创 esp32~mp3播放实例解析,Android插件化主流框架和实现原理
mp3_decoder_cfg_t mp3_cfg = DEFAULT_MP3_DECODER_CONFIG(); mp3_decoder = mp3_decoder_init(&mp3_cfg); // 初始化mp3 decoder元素 audio_element_set_read_cb(mp3_decoder, mp3_music_read_cb, NULL); ESP_LOGI(TAG, “[2.2] Create i2s stream to write data to codec chi
2022-03-17 00:09:47
1408
原创 eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上
点击“Next”下一步 点击“Next”下一步 点击“Finish”完成 让Tomcat服务器显示在控制台上,将Web应用部署到Tomcat中 Window → Show View → Servers 点击链接No servers are available. Click ths link to create a new server. ,在弹出的对话框中选择Tomcat版本 点击“Next”,添加我们的项目 选中项目并点击Add,或是双击都可以添加到右边 点击“Fi.
2022-03-17 00:08:12
1569
原创 EasyFlipViewPager,flutter教程
更多:作者 提 Bug 官网 标签: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kWjB7Tgr-1647446780647)(https://img.shields.io/badge/%F0%9F%93%84%20-NEW-red.svg)] The article on how this library was created is now published. You can
2022-03-17 00:06:37
6181
原创 Context都没弄明白,还怎么做Android开发?,kotlin静态常量
Context能干什么 Context到底可以实现哪些功能呢?这个就实在是太多了,弹出Toast、启动Activity、启动Service、发送广播、操作数据库等等都需要用到Context。 TextView tv = new TextView(getContext()); ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), …); AudioManager am = (AudioManager) getContext
2022-03-17 00:02:50
208
原创 Context那些你不知道的事?,3天拿到网易Android岗offer
Activity、Service、Application 最终都是继承自装饰类 ContextWrapper ,ContextWrapper 通过 attachBaseContext() 方法来获取实际做事的 ContextImpl 对象。所以这些组件的创建过程中,一定会在某一时机调用 attachBaseContext() 方法对 mBase 对象进行赋值,让我们从源码里面找找答案。 四
2022-03-17 00:01:15
129
原创 RXJava之链式调用(一),android编程权威指南第四版
.subscribe(new Subscriber() { //代码⑥ Subscriber @Override public void onCompleted() { System.out.print(Thread.currentThread().getName()+"\n"); System.out.print(“completed”+"\n"); } @Override public void onError(Throwable e) { System.out.print(“error”); } @O
2022-03-04 20:48:59
470
原创 【闲来无事】仿知乎广告Banner的切换功能,androidstudio实训总结
}else{ isScrollUp = true; float r = curY / threshold ; ivOrange.setImageBitmap(circleBitmap(bmOrange, r * screenWidth)); } } }); 裁剪 private Bitmap circleBitmap(Bitmap o,float radius){ Bitmap outputBm = Bitmap.createBitmap(o.getWidth(),o.getHeight(), Bitmap
2022-03-03 00:40:22
2178
转载 Weex开发体验之一:环境搭建及调测,数据库开发面试自我介绍
参考文档 https://weex.apache.org/cn/guide/ 快速上手所需资料可以在这里找到,这边简要总结一下,达到速查的目的。 本机开发环境 windows7 64bit 搭建步骤 下载node node包括javascript的运行环境和npm; 下载地址:https://nodejs.org/zh-cn/download/ 安装好后,检测版本号,输入node -v和npm -v; 安装weex-toolkit npm install weex-toolkit -g 然后
2022-03-01 14:31:28
263
原创 SimpleAdapter的理解与简单实现,androidstudio计算器
final int count = to.length; //依次遍历在getCount所得的所有视图,通过findViewById()方法找到相应的视图文件 for (int i = 0; i < count; i++) { final View v = view.findViewById(to[i]); if (v != null) { final Object data = dataSet.get(from[i]); String text = data == null ? “” : data.
2022-03-01 14:30:02
282
原创 RecyclerView 局部刷新的坑,34岁程序员年薪50w
@param position 下标 @param packageName 要替换的文本名 */ public void updateItem(int position, String packageName) { if (position >= 0 && position < data.size()) { data.get(position).setPackageName(packageName); } notifyDataSetChanged(); } 踩坑 而我们.
2022-03-01 14:28:37
119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅