Android数据流程的优化

Posted wudisanrenzu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android数据流程的优化相关的知识,希望对你有一定的参考价值。

       第二次阶段开始,对于第一阶段的数据传输线进行优化,因为第一次数据传输入栈activity太多,导致用户使用感不好,人机分离,同时大量activity的入栈,会导致app很卡,所以进行了优化,采用的是向上一个activity/fragment回传数据(一开始以为肯定有一个简洁的方法来实现不同活动的数据共享,但好像没有,只能传递,我没有找到方法反正),这样将用户id等等主键传值进行操作,以下为其一代码:

一:这是fragment向activity内进行跳转

Button myButton = (Button) getActivity().findViewById(R.id.Add_Button);
myButton.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view)

Intent intent = new Intent(getActivity(), Add.class);
Bundle bundle = new Bundle();
bundle.putInt("User_id",User_id);
intent.putExtras(bundle);
//2023.5.16更改
startActivityForResult(intent,1);
// startActivity(intent);

);
二:我跳转回来的语句
Intent intent = new Intent(Add.this, HomeFragment.class);
//更新操作 2023.5.16
System.out.println("comsumer === " + comsumer);
intent.putExtra("already_Login",comsumer);
setResult(RESULT_OK,intent);
finish();

三:源活动接收的语句
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) 
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1)

if(resultCode == RESULT_OK)

int flag = data.getIntExtra("already_Login",-1);
// System.out.println("收到了 == " + data.getIntExtra("already_Login",-1));
if(flag == -1)

Toast.makeText(getContext(), "出错了,主人", Toast.LENGTH_SHORT).show();
else

Toast.makeText(getContext(), "收到了,主人", Toast.LENGTH_SHORT).show();
User_id = flag;
System.out.println("User_id " + User_id);
simpleAdapter = new SimpleAdapter(getActivity(),getData(),R.layout.my_menu,new String[]"type","money",new int[]R.id.myMenu_type,R.id.myMenu_money);
listView.setAdapter(simpleAdapter);






同时,listview进行更新防止了activity的入栈,很简介的代码便实现了,以下为代码,主要是返回到fragment,listview自己进行更新。
simpleAdapter = new SimpleAdapter(getActivity(),getData(),R.layout.my_menu,new String[]"type","money",new int[]R.id.myMenu_type,R.id.myMenu_money);
listView.setAdapter(simpleAdapter);



数据分析实践 flink 流程优化篇

参考技术A 流程如下:

flink需要优化,最先表现出来的现状就是:
窗口中使用metric体现出每秒的数据处理量很低,或停止。

此处以flink dashboard为例。

dashboard可以在背压这里看到HIGH时,则存在数据反压问题。

反压逻辑:
若流程为A-B-C-D-E-F ,ABCDE出现反压(即这里status为high),则表示F处理流程导致E -> D-> C->B ->A 相继慢。

在多进程环境下:

如上图,数据分布很不均匀,导致部分窗口数据处理缓慢。

尚未出现数据反压和数据倾斜的状况,但是flink的watermarks追不上实时时间,不能实时处理。

需单进程确认点:

可优化点:

解决方案:

而后在窗口中调用ThreadPool.sadd方法,获取到redis操作结果后的逻辑操作也可在窗口外进行,窗口只负责调度。

遇坑待更新

以上是关于Android数据流程的优化的主要内容,如果未能解决你的问题,请参考以下文章

Android卡顿优化思路

Android 安装包优化APK 打包流程 ( 文件结构 | 打包流程 | 安装流程 | 安卓虚拟机 )

Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmContinueOptimizati() 函数分析 )

Android性能优化内存泄漏与排查流程,6年老Android经验总结

Android性能优化内存泄漏与排查流程,6年老Android经验总结

Android系统启动流程分析